# 6. Nginx 反向代理二
# 6.1 需求
使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务。nginx 监听端口为 9001:
- 访问 http://172.16.58.200:9001/edu/ 直接跳转到 127.0.0.1:8080
- 访问 http://172.16.58.200:9001/vod/ 直接跳转到 127.0.0.1:8081
# 6.2 准备工作
停掉之前的 tomcat
# 查看进程号 ps -ef | grep tomcat # kill kill -9 47780
准备文件夹
mkdir tomcat8080 mkdir tomcat8081
复制之前的 tomcat 压缩包
cp apache-tomcat-9.0.50.tar.gz ./tomcat8080 cp apache-tomcat-9.0.50.tar.gz ./tomcat8081
解压
tar -zxvf apache-tomcat-9.0.50.tar.gz
添加测试文件
# 进入 8080 的 webapps 中,创建测试文件 cd tomcat8080/apache-tomcat-9.0.50/webapps/ mkdir edu cd edu vim a.html <h1>hello here is 8080</hi> #8081 同理 cd tomcat8081/apache-tomcat-9.0.50/webapps/ mkdir vod cd vod vim a.html <h1>hello here is 8080</hi>
修改 tomcat8081 端口号
#修改 tomcat 目录下的 conf 目录下的 server.xml 文件 #修改前 <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> <!-- Security listener. Documentation at /docs/config/listeners.html <Listener className="org.apache.catalina.security.SecurityListener" /> .... <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> #修改后 <Server port="8015" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> <!-- Security listener. Documentation at /docs/config/listeners.html <Listener className="org.apache.catalina.security.SecurityListener" /> .... <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
启动 tomcat
#进入每个 tomcat 的 bin 目录下 ./startup.sh
开发 8081 端口
firewall-cmd --add-port=8081/tcp --permanent firewall-cmd --reload
# 6.3 反向代理
配置 nginx 配置文件:
vim /usr/local/nginx/conf/nginx.conf
内容如下:
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name 172.16.58.200; #localhost 改成 ip 地址 location / { root html; proxy_pass http://127.0.0.1:8080; #配置转发 index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } # 再加一个 server server { listen 9001; server_name 172.16.58.200; #localhost 改成 ip 地址 # 配置反向代理规则 location ~ /edu/ { proxy_pass http://127.0.0.1:8080; #配置转发 } location ~ /vod/ { proxy_pass http://127.0.0.1:8081; #配置转发 } } }
重启 nginx
cd /usr/local/nginx/sbin ./nginx -s reload
开发 9001 端口
firewall-cmd --add-port=9001/tcp --permanent firewall-cmd --reload
# 6.4 验证
访问 http://172.16.58.200:9001/vod/a.html
访问 http://172.16.58.200:9001/edu/a.html