一、Nginx 配置实例1:反向代理
1.一、实现效果
(1)、打开浏览器,地址栏输入 www.123.com,跳转到 Linux 系统 tomcat 主页面中。css
1.二、准备工做
1.2.一、在 Linux 系统安装 tomcat,使用默认端口 8080
(1)、将下载的 jdk 上传到 /usr/local 下,而后解压html
tar -zxvf jdk-8u212-linux-x64.tar.gz
解压完成后咱们会看到 /usr/local 目录下有一个 jdk 1.8.0_212 的目录java
(2)、配置环境变量python
vim /etc/profile
在文件末尾添加以下内容:linux
# jdk环境变量配置 JAVA_HOME=/usr/jdk/jdk1.8.0_212 PATH=$PATH:$JAVA_HOME/bin export JAVA_HOME PATH
注:export JAVA_HOME 后接 jdk1.8 的安装路径。nginx
(3)、使环境变量生效web
source /etc/profile
(4)、验证jdk1.8是否安装成功apache
java -version
以下所示,表示jdk1.8安装成功:vim
[root@localhost local]# java -version
java version "1.8.0_212" Java(TM) SE Runtime Environment (build 1.8.0_212-b10) Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
(5)、启动 tomcat ,进入 tomcat 解压 目录下的 */bin/ (/root/usr/ll/apache-tomcat-9.0.20/bin/)目录下,输入以下命令启动:windows
./startup.sh
进入日志文件目录下*/log/ (/root/usr/ll/apache-tomcat-9.0.20/log/)查看启动日志状况,输入以下命令:
tail -f catalina.out
在主机浏览器输入IP和端口号查看,是否可访问。
1.2.二、在 Linux 系统安装 tomcat,使用默认端口 8080
(1)、linux 安装了tomcat 启动后没法访问解决办法
①、首先查下看 Linux是否开放了端口
netstat -ntpl netstat -nupl (UDP类型的端口) netstat -ntpl (TCP类型的端口) a 表示全部 n 表示不查询dns t 表示tcp协议 u 表示udp协议 p 表示查询占用的程序 l 表示查询正在监听的程序
若出现:-bash: netstat: 未找到命令,则先安装 net-tools
yum -y install net-tools
②、输入命令查看:
[root@localhost logs]# netstat -ntpl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 12143/nginx: master tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6133/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 6460/master tcp6 0 0 :::8009 :::* LISTEN 15992/java tcp6 0 0 :::8080 :::* LISTEN 15992/java tcp6 0 0 :::22 :::* LISTEN 6133/sshd tcp6 0 0 ::1:25 :::* LISTEN 6460/master tcp6 0 0 127.0.0.1:8005
(2)、端口号是否是防火墙被拦截了
防火墙负责端口是否对外开放,若是在配置中设置了不拦截咱们就能够经过该端口访问服务器;若是不设置该端口对外开放,咱们就不能经过该端口访问服务器
①、检查防火墙是否在运行地的状态
systemctl status firewalld
[root@localhost bin]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since 日 2019-10-06 09:20:12 CST; 5h 54min ago Docs: man:firewalld(1) Main PID: 5600 (firewalld) CGroup: /system.slice/firewalld.service └─5600 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
上面标识防火墙正在运行。
若是没有开启防火墙:
开启防火墙:
systemctl start firewalld
设置防火墙开机启动:
systemctl enable firewalld
(3)、端口开放设置
1)、查看放火墙对外开放的端口:
firewall-cmd --zone=public --list-ports
[root@localhost bin]# firewall-cmd --zone=public --list-ports 80/tcp
上面即是对防火墙开放端口列表。
2)、开启须要使用的端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
其中--permanent 的做用是使设置永久生效,不加的话机器重启以后失效
3)、从新载入一下防火墙设置,使设置生效
firewall-cmd --reload
4)、可经过以下命令查看是否生效
firewall-cmd --zone=public --query-port=8080/tcp
(4)、端口限制
#要限制的端口 firewall-cmd --zone=public --remove-port=8080/tcp --permanent #重新加载防火墙,使设置生效 firewall-cmd --reload #再去查看系统全部开放的端口,限制的端口是否还存在 firewall-cmd --zone=public --list-ports
(5)、批量开放或限制端口
1)、批量开放端口,如从100到500这之间的端口所有要打开
firewall-cmd --zone=public --add-port=100-500/tcp --permanent
2)、批量限制端口,如从600到800这之间的端口所有限制
firewall-cmd --zone=public --remove-port=600-800/tcp --permanent
3)、从新载入防火墙设置
firewall-cmd --reload
1.三、访问过程分析

1.四、具体配置
1.4.一、在windows 系统的 host 文件中进行域名和 IP 对应关系的配置
位置:C:\Windows\System32\drivers\etc\hosts
添加内容:
192.168.92.128 www.123.com
1.4.二、在 nginx 中进行请求转发的配置(反向代理配置)
在配置文件中配置以下:

1.五、测试

二、Nginx 配置实例2:反向代理
实现效果:
&emps; 使用 nginx 反向代理,根据访问的路径跳转到不一样端口的服务中,
nginx 监听端口为 9001,
访问:http: //192.168.92.128:9001/edu/ 直接跳转到 192.168.92.128:8080
访问:http: //192.168.92.128:9001/vod/ 直接跳转到 192.168.92.128:8081
2.一、准备工做
(1)准备两个 tomcat 端口分别为 8080、8081
①、在 tomcat 解压文件或压缩文件所在目录下分别建立 tomcat8080、tomcat8081 文件夹。
[root@localhost ll]# ls apache-tomcat-9.0.20 apache-tomcat-9.0.20.tar.gz nginx-1.16.1 nginx-1.16.1.tar.gz tomcat8080 tomcat8081
②、将解压的 apache-tomcat-9.0.20 分别复制一份到 tomcat8080 和 tomcat8081 中;或从新解压到 tomcat8080 和 tomcat8081 中
cp -r apache-tomcat-9.0.20 tomcat8080 cp -r apache-tomcat-9.0.20 tomcat8081
③、修改 tomcat8081 中 tomcat 配置文件的 端口
22 <Server port="8005" shutdown="SHUTDOWN"> 23 <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> 24 <!-- Security listener. Documentation at /docs/config/listeners.html 25 <Listener className="org.apache.catalina.security.SecurityListener" />
68 -->
69 <Connector port="8081" protocol="HTTP/1.1" 70 connectionTimeout="20000" 71 redirectPort="8443" /> 72 <!-- A "Connector" using the shared thread pool--> 73 <!--
115 <!-- Define an AJP 1.3 Connector on port 8009 --> 116 <Connector port="8019" protocol="AJP/1.3" redirectPort="8443" /> 117 118 119 <!-- An Engine represents the entry point (within Catalina) that processes 120 every request. The Engine implementation for Tomcat stand alone
(2)添加对应的显示
分别在tomcat8080、tomcat8081中的 Tmocat 的 webapps 文件下建立 edu和vod文件,并在文件夹里添加 a.html 文件。内容本身定义,可区分便可;
2.二、nginx 反向代理配置
进入nginx 的配置文件 nginx.conf 所在的位置,进行配置,配置以下:
83 # another virtual host using mix of IP-, name-, and port-based configuration 84 # 85 server { 86 listen 9001; 87 # listen somename:8080; 88 server_name 192.168.92.128; 89 90 location ~ /edu/ { 91 proxy_pass http://127.0.0.1:8080; 92 # root html; 93 # index index.html index.htm; 94 } 95 location ~ /vod/ { 96 proxy_pass http://127.0.0.1:8081; 97 } 98 } 99