通过Nginx反向代理管理服务器上的多个web应用程序

  • 续接上篇初识Nginx,本篇分享一下Nginx常用功能点之一的反向代理的应用。应用场景为:管理服务器上的陆陆续续发布的各类web应用程序,做了个简单的web应用程序展示面板,参见下图:
    这里写图片描述
  • 本篇文章使用Nginx版本为1.11.7,说一下Nginx实际中常用的几条指令
D:\pub\nginx-1.11.7>tasklist /fi "imagename eq nginx.exe" 查看任务管理器内nginx.exe的运行信息
"nginx -s stop" quick exit
"nginx -s quit" graceful quit
"nginx -s reload" changing configuration, starting a new worker, quitting an 
old worker gracefully
"nginx -s reopen" reopening log files
  • 我的这个演练场景是这样的,”web应用程序展示面板”是通过Nginx反向代理加载出来的,”web应用程序展示面板”里的每个子系统也是通过Nginx反向代理加载出来的,Nginx端口为9440,大家可以直接通过这个link下载我本地配置好的Nginx配置文件下载。重点关注的的几点配置如下:
#nginx进程数,建议设置为等于CPU总核心数。
worker_processes  2;
events {
    #单个进程最大连接数(最大连接数=连接数*进程数)
    worker_connections  24;
}
 server {
        #监听端口
        listen       9440;
        #域名可以有多个,用空格隔开
        server_name  localhost 127.0.0.1;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        #对 "/" 启用反向代理
         location /9441/ {          
            proxy_pass http://localhost:9441/;
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        location /8096/ {           
            proxy_pass http://localhost:8096/;
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        location /8077/ {           
            proxy_pass http://localhost:8077/;
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

运行效果参见下图(大家重点观察浏览器地址栏里的信息):
这里写图片描述
这里写图片描述

  • 附件:Nginx反向代理的四类配置方法:
四种分别用http://127.0.0.1/SubProjectDir/default.html 进行访问。
 第一种:
location /SubProjectDir/ {
     proxy_pass http://127.0.0.1:81/;
}
会被代理到http://127.0.0.1:81/default.html 这个url

第二咱(相对于第一种,最后少一个 /)
location /SubProjectDir/ {
     proxy_pass http://127.0.0.1:81;
}
会被代理到http://127.0.0.1:81/SubProjectDir/default.html 这个url

第三种:
location /SubProjectDir/ {
     proxy_pass http://127.0.0.1:81/ftlynx/;
}
会被代理到http://127.0.0.1:81/ftlynx/default.html 这个url。

第四种情况(相对于第三种,最后少一个 / ):
location /SubProjectDir/ {
     proxy_pass http://127.0.0.1:81/ftlynx;
}
会被代理到http://127.0.0.1:81/ftlynxdefault.html 这个url
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页