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、 Nginx配置实例-反向代理_反向代理

4、 Nginx配置实例-反向代理_配置文件_02

4、具体配置 
第一步  在windows 系统的host文件进行域名和ip 对应关系的配置 
(浏览器通过域名访问时,会先从本地主机的host文件中查看域名对应的ip地址,若没有再连接网络中的DNS域名解析器查找)

4、 Nginx配置实例-反向代理_配置文件_03

第二步  在nginx进行请求转发的配置(反向代理配置) 
1.修改nginx的nginx.conf配置文件(/usr/local/nginx/conf目录中nginx.con配置文件)
【重新加载nginx (修改nginx.conf配置文件后不重启nginx,重新加载配置文件)
./nginx -s reload  要进入/usr/local/nginx/sbin 目录下才可以】

4、 Nginx配置实例-反向代理_配置文件_04

当访问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

4、 Nginx配置实例-反向代理_正则表达式_05

关于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访问具体资源显示。

4、 Nginx配置实例-反向代理_正则表达式_06

3、具体配置 
(1)找到nginx配置文件,进行反向代理配置 
因为效果是使用nginx反向代理,根据访问的路径跳转到不同端口的服务中,nginx监听端口为9001
所以在nginx配置文件中再配置一个server。

4、 Nginx配置实例-反向代理_nginx_07

(2)开放对外访问的端口号  9001 8080 8081 

4、 Nginx配置实例-反向代理_配置文件_08

location指令说明 :

该指令用于匹配 URL。
语法如下: 

4、 Nginx配置实例-反向代理_nginx_09

  1、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。 
  2、~:用于表示 uri 包含正则表达式,并且区分大小写。 
  3、~*:用于表示 uri 包含正则表达式,并且不区分大小写。 
  4、^~:用于不含正则表达式的  uri 前,要求 Nginx 服务器找到标识 uri 和请求字
符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 
块中的正则 uri 和请求字符串做匹配。 
  注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识。