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

Posted Qmillet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

 

 

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

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

 

6. 访问效果

 

 

 

二、防火墙

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

//查看已经开放的端口号
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服务器

 

 

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

 

 

 

 2. 修改nginx配置文件

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

四、反向代理-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。

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

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

}

 

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

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

 

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

 

 

以上是关于3. Nginx配置实例-反向代理的主要内容,如果未能解决你的问题,请参考以下文章

nginx 配置实例-反向代理

尚硅谷Nginx教程简介安装常用命令和配置文件配置实例——反向代理

Nginx 反向代理负载均衡虚拟主机

nginx配置反向代理实例教程(windows版)

Nginx配置一套打通:基本概念命令反向代理负载均衡动静分离高可用

nginx-配置反向代理实例