3. Nginx配置实例-反向代理

本章内容:

 准备工作

  ①安装Tomcat

  ②对外开放访问的端口(如果防火墙已开放,此步可忽略)

  ③在windows系统中通过浏览器访问Tomcat服务器


反向代理效果:打开浏览器,在浏览器地址栏输入地址www.123.com,跳转到linux系统Tomcat主页面中

一、安装Tomcat

1. wget 下载tomcat安装包

wget url

2. 复制两份放到两个文件夹中

cp apache-tomcat-8.5.31.tar.gz  ../tomcat8080
cp apache-tomcat-8.5.31.tar.gz  ../tomcat8081

3. 解压

tar -xvf apache-tomcat-8.5.31.tar.gz

4. 修改配置文件 /tomcat8081/apache-tomcat-8.5.31/conf/server.xml,修改端口号为8081

 3. Nginx配置实例-反向代理

 5. 启动Tomcat:进入bin目录-->这里使用的是Centos默认JDK配置

./startup.sh  //开启
./shutdown.sh  //关闭

6. 访问效果

3. Nginx配置实例-反向代理

3. Nginx配置实例-反向代理

二、防火墙

如果端口号不能访问,则需要通过防火墙开放端口。

//查看已经开放的端口号
firewall-cmd --list-all

//对外开放访问的端口
firewall-cmd --add-port=8080/tcp --permanent
//重启防火墙
firewall-cmd –reload

//其他防火墙扩展
firewall-cmd --state                           ##查看防火墙状态,是否是running
firewall-cmd --reload                          ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones                       ##列出支持的zone
firewall-cmd --get-services                    ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp               ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp                 ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent     ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent  ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent     ##永久添加80端口 
iptables -L -n                                 ##查看规则,这个命令是和iptables的相同的

三、反向代理-1

【实验目标】浏览器访问www.123.com 跳转到8080端口Tomcat服务器

3. Nginx配置实例-反向代理

 1. windows的host文件中配置域名和IP地址的映射

3. Nginx配置实例-反向代理

3. Nginx配置实例-反向代理

 2. 修改Nginx配置文件

如下配置,我们监听 80 端口,访问域名为 www.123.com,不加端口号时默认为 80 端口,故访问该域名时会跳转到 127.0.0.1:8080 路径上。在浏览器端输入 www.123.com 结果如下:

3. Nginx配置实例-反向代理

3. Nginx配置实例-反向代理

四、反向代理-2

【实验目标】使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中,nginx 监听端口为 9001,访问 http://122.*.*.*:9001/qq/ 直接跳转到 127.0.0.1:8080,访问 http:// 122.*.*.*:9001/glh/ 直接跳转到 127.0.0.1:8081。

1. 在两个tomcat文件下分别创建 /qq/qq.html    /glh/glh.html 用以区分两个汤姆猫。

2.修改Nginx配置文件,增加一个server模块,并重启Nginx。

3. Nginx配置实例-反向代理

【location指令说明】语法如下:

location (= | ~ | ~* | ^~)  uri {

}

①  = :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。

  ②  ~:用于表示 uri 包含正则表达式,并且区分大小写。
  ③  ~*:用于表示 uri 包含正则表达式,并且不区分大小写。
  ④  ^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字
  符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location块中的正则 uri 和请求字符串做匹配。
  注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识。

3. 效果展示:通过Nginx端口访问到不同的服务器

3. Nginx配置实例-反向代理

 3. Nginx配置实例-反向代理

相关推荐