4、 Nginx配置实例-反向代理
反向代理实例一:
1、实现效果
(1)打开浏览器,在浏览器地址栏输入地址 www.123.com,跳转到liunx 系统tomcat主页面中
2、准备工作
(1)在liunx 系统安装tomcat,使用默认端口8080
* tomcat安装文件放到liunx 系统中,解压
* tomcat依赖jdk,先查看下jdk:java -version
* 进入tomcat的bin目录中,./startup.sh启动tomcat服务器
* 进入logs目录查看日志,命令:tail -f catalina.out
(2)对外开放访问的端口
firewall-cmd --add-port=8080/tcp --permanent 开放端口
firewall-cmd --reload 重启防火墙
查看已经开放的端口号
firewall-cmd --list-all
(3)在windows系统中通过浏览器访问tomcat服务器
4、具体配置
第一步 在windows 系统的host文件进行域名和ip 对应关系的配置
(浏览器通过域名访问时,会先从本地主机的host文件中查看域名对应的ip地址,若没有再连接网络中的DNS域名解析器查找)
第二步 在nginx进行请求转发的配置(反向代理配置)
1.修改nginx的nginx.conf配置文件(/usr/local/nginx/conf目录中nginx.con配置文件)
【重新加载nginx (修改nginx.conf配置文件后不重启nginx,重新加载配置文件)
./nginx -s reload 要进入/usr/local/nginx/sbin 目录下才可以】
当访问192.168.56.103就会转发到location中proxy_pass 对应的http://127.0.0.1:8080地址中去
2.启动nginx:进入cd /usr/local/nginx/sbin 目录./nginx
3.windows浏览器中访问www.123.com
关于nginx无论怎么配置都还是跳转到欢迎界面的解决方案:
改错配置文件了,需要修改安装nginx的/usr/local/nginx/conf目录中nginx.con配置文件,而不是解压后的nginx文件中的配置文件。
反向代理实例二:
1、实现效果 (根据路径跳转具体地址中)
使用nginx反向代理,根据访问的路径跳转到不同端口的服务中 nginx监听端口为9001
访问 http://192.168.17.129:9001/edu/ 直接跳转到127.0.0.1:8080
访问 http:// 192.168.17.129:9001/vod/ 直接跳转到127.0.0.1:8081
2、准备工作
(1)准备两个tomcat服务器,一个8080端口,一个8081端口
在usr/src目录下创建两个目录tomcat8080、tomcat8081,在连个目录中放入tomcat解压文件并启动
对外开放访问的端口:
firewall-cmd --add-port=8081/tcp --permanent 开放端口
firewall-cmd --reload 重启防火墙
查看已经开放的端口号:
firewall-cmd --list-all
(2)创建文件夹和测试页面
在tomcat8080、tomcat8081目录中的tomcat/webapps目录下分别创建目录tomcat8080->edu,tomcat8081->vod
创建html文件并编写内容,tomcat访问具体资源显示。
3、具体配置
(1)找到nginx配置文件,进行反向代理配置
因为效果是使用nginx反向代理,根据访问的路径跳转到不同端口的服务中,nginx监听端口为9001
所以在nginx配置文件中再配置一个server。
(2)开放对外访问的端口号 9001 8080 8081
location指令说明 :
该指令用于匹配 URL。
语法如下:
1、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。
2、~:用于表示 uri 包含正则表达式,并且区分大小写。
3、~*:用于表示 uri 包含正则表达式,并且不区分大小写。
4、^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字
符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location
块中的正则 uri 和请求字符串做匹配。
注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识。