3、Nginx 反向代理实例

Nginx 反向代理实例 1

一、实现效果

打开浏览器,在浏览器地址栏输入地址 www.123.com,跳转到 liunx 系统 tomcat 主页面中

二、准备工作,启动nginx和tomcat

在 liunx 系统中 nginx的安装以及启动https://www.cnblogs.com/lyh233/p/12729523.html

在 liunx 系统中 tomcat的安装以及启动https://www.cnblogs.com/lyh233/p/12731529.html

三、访问过程的分析

windows中使用域名,域名解析之后访问的是nginx;然后nginx再进行访问linux中tomcat的首页

4、具体配置

第一步:在 windows 系统的 host 文件进行域名和 ip 对应关系的配置

默认host文件都是在C:WindowsSystem32driversetc路径下

默认该文件也是只读的,要有修改权限的话需要把只读去掉

在hosts文件鼠标右击,点击属性,把只读那个√去掉,然后点击确定

在 hosts文件中追加内容

前面写linux的ip  空格后面写一个域名

#nginx方向代理测试
192.168.237.132  www.123.com

相当于在浏览器中输入域名就代表ip

(在本机hosts文件配置了的域名对应ip则使用本机的域名解析,hosts没有配置域名对应的ip则使用网上的域名解析器)

保存之后在浏览器中输入www.123.com:8080即相对于192.168.237.132:8080

 

 第二步:在 nginx 进行请求转发的配置(反向代理配置)

在linux系统中进入nginx目录下的conf目录下,里面有个nginx.conf文件

编辑这个文件之前最好先备份一份

cp nginx.conf nginx.conf.bak

编辑 nginx.conf文件

把server_name从localhost改为linux系统的ip地址

然后在 location /  里面里面添加一个proxy_pass http://127.0.0.1:8080

 配置这些相当于访问  192.168.237.132:80/  时nginx进行反向代理把请求转发到http://127.0.0.1:8080这个路径

5、最终测试

修改nginx.conf配置之后,如果修改之前启动了nginx则需要重启

进入nginx目录下的sbin目录执行重启命令

./nginx -s reload

修改之前没有启动的话就直接启动nginx

./nginx

访问www.123.com:80测试进入的不是nginx首页而是tomcat首页,说明配置成功

Nginx 反向代理实例 2

一、实现效果

使用 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

二、准备工作

(1)准备两个 tomcat 服务器,修改 server.xml,修改部分端口号,一个 8080 端口,一个 8081 端口,然后启动 tomcat

安装路径分别在/usr/local/java/tomcat8080/下和/usr/local/java/tomcat8081/下

进入8081的conf目录下编辑server.xml修改一些端口部分,以免不能开启两个tomcat

 

(2)分别创建文件夹和测试页面

cd /usr/local/java/tomcat8080/apache-tomcat-8.5.54/webapps
mkdir edu

cd edu
vim a.html
    <h1>8080!!</h1>
cd /usr/local/tomcat8081/apache-tomcat-8.5.54/webapps
mkdir vod

cd vod
vim a.html
    <h1>8081!!</h1>

三、具体配置

(1)找到 nginx 配置文件,添加反向代理配置

#192.168.237.132;反向代理示例2配置
server {
    listen       9001;
    server_name  192.168.237.132;

    location ~ /edu/ {
        proxy_pass  http://127.0.0.1:8080;
    }

    location ~ /vod/ {
        proxy_pass  http://127.0.0.1:8081;
    }
}

(2)开放对外访问的端口号 9001 8080 8081(测试的时候不必设置永久开发这些端口,8080倒是可以)

四、最终测试

 

 

原文地址:https://www.cnblogs.com/lyh233/p/12732303.html