当前位置: 代码网 > 服务器>服务器>Nginx > nginx如何配置同一个端口转发多个项目

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

2024年05月19日 Nginx 我要评论
nginx配置同一个端口转发多项目nginx一般都是一个转发多个项目,所以需要学会配置这个方式一配置多个server 监听端口,这种方法会占用好多个端口方式二配置静态资源root的alias项配置不同

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;
        }

    }


}


总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com