nginx如何配置同一个端口转发多个项目

 更新时间:2024年01月26日 10:52:01   作者:万山寒  
这篇文章主要介绍了nginx如何配置同一个端口转发多个项目问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

nginx配置同一个端口转发多项目

nginx一般都是一个转发多个项目,所以需要学会配置这个

方式一

  • 配置多个server 监听端口,这种方法会占用好多个端口

方式二

  • 配置静态资源root的alias项
  • 配置不同前端静态资源访问不同后端,这里是用 # proxy_pass “http://ip:port/” 结尾的"/“,带上和不带是两种效果,去掉”/“,那么路径将接上location 正则匹配的路径,带上”/",就不会加上。

配置文件

#user  nobody;
worker_processes  8;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  2048;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    proxy_intercept_errors on;
    #tomcat未启动时
    fastcgi_intercept_errors on;

    sendfile        on;
    keepalive_timeout  65;
#   实例一的ip端口配置
    upstream testStream01 {
       server 127.0.0.1:8090;
    }
#   实例二的ip端口配置
    upstream testStream02 {
       server 127.0.0.1:8091;
    }

    server {
        listen       8080;
        server_name  localhost;
		#gzip on;
		#gzip_http_version 1.1;
		#gzip_comp_level 9;
		#gzip_vary on;
		#gzip_types text/plain application/json application/x-javascript application/css application/xml application/xml+rss text/javascript application/x-httpd-php image/jpeg image/gif image/png image/x-ms-bmp;

        location / {
            root   /usr/share/nginx/html/test;
            index  login.html index.htm;
        }
#         实例一的前端页面,主要root 要换成alias
        location /project01 {
#         多个前端项目,需要使用alias
            alias   /usr/share/nginx/html/project01;
            index  login.html index.htm;
        }
#         实例二的前端页面
        location /project02 {
            alias   /usr/share/nginx/html/project02;
            index  login.html index.htm;
        }
#         开放静态资源
#          location  ^/project01/.*\.(jpg|jpeg|gif|png|ico|css|js|pdf|txt)$
#           {
#               alias /usr/share/nginx/html/project01/;
#               proxy_temp_path /usr/share/nginx/html/project01/;
#           }
#        前端请求后端的地址,将会= ip:port/project01 ,所以这里要去掉project01,
#         实例一的后端配置,主要看proxy_pass
		 location  /project01/testServer {

			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_set_header Host $http_host;

			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade";
			proxy_read_timeout 3600s;
			# proxy_pass "http://testStream01/" 结尾的"/",带上和不带是两种效果,去掉"/",那么路径将接上正则匹配的"/project01/testServer",带上"/",就不会加上。
            proxy_pass  http://testStream01/testServer;
# 			rewrite ^/project01/testServer(.*)$ /testStream01/$1 last;
        }
#         实例二的后端配置,主要看proxy_pass
		location  /project02/testServer {

			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_set_header Host $http_host;

			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade";
			proxy_read_timeout 3600s;
            proxy_pass  http://testStream02/testServer;
        }

    }


}


总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • nginx限流方案的实现(三种方式)

    nginx限流方案的实现(三种方式)

    一般对外暴露的系统,在促销或者黑客攻击时会涌来大量的请求,为了保护系统不被瞬间到来的高并发流量给打垮, 就需要限流,这篇文章主要介绍了nginx限流方案的实现,非常具有实用价值,需要的朋友可以参考下
    2018-05-05
  • 基于nginx设置浏览器协商缓存过程详解

    基于nginx设置浏览器协商缓存过程详解

    这篇文章主要介绍了基于nginx设置浏览器协商缓存过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • 详解Nginx实战之让用户通过用户名密码认证访问web站点

    详解Nginx实战之让用户通过用户名密码认证访问web站点

    这篇文章主要介绍了详解Nginx实战之让用户通过用户名密码认证访问web站点,有兴趣的可以了解一下。
    2016-11-11
  • Nginx服务器实现通过ip和user_gent限制访问的方法分析

    Nginx服务器实现通过ip和user_gent限制访问的方法分析

    这篇文章主要介绍了Nginx服务器实现通过ip和user_gent限制访问的方法,结合实例形式分析了Nginx通过限制ip和user_gent限制访问来过滤DDOS攻击的相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • 为什么我推荐Nginx作为后端服务器代理(原因解析)

    为什么我推荐Nginx作为后端服务器代理(原因解析)

    这篇文章主要介绍了为什么我推荐Nginx作为后端服务器代理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • nginx实现动静分离的示例代码

    nginx实现动静分离的示例代码

    这篇文章主要介绍了nginx实现动静分离的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 基于Xen的VPS ubuntu+nginx+php安装教程

    基于Xen的VPS ubuntu+nginx+php安装教程

    跟踪vps已经很久了,但是因为需要特殊端口开服务,所以符合条件的多为Xen平台的vps。众多比较之后选择了vpslink在西雅图机房,速度还不错。
    2010-07-07
  • Nginx的try_files指令使用实例

    Nginx的try_files指令使用实例

    这篇文章主要介绍了Nginx的try_files指令使用实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • nginx查看连接数的几种方法小结

    nginx查看连接数的几种方法小结

    nginx作为目前最流行的web服务器之一,在许多生产环境都能看到他的踪影,有时候,我们需要统计nginx的连接配置,本文主要分享一下如何统计nginx的连接数,需要的朋友可以参考下
    2024-02-02
  • 使用Lvs+Nginx集群搭建高并发架构的实现示例

    使用Lvs+Nginx集群搭建高并发架构的实现示例

    本文主要介绍了使用Lvs+Nginx集群搭建高并发架构的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12

最新评论