欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx配置共用80端口|端口转发端口映射

程序员文章站 2022-07-15 14:29:40
...

problem

1、http默认端口为80
2、一台服务器有多个服务,都想监听80
3、有些服务限用指定端口,修改麻烦
4、外网访问域名时要加端口,很麻烦

solution

1、先在两个空闲的端口上分别部署项目(非80,假设是81和82)

// nginx.conf
# test1项目配置
server {
    listen       81;
    root         /www/wwwroot/test1;
    index        index.html;
    location / {}
}

# test2项目配置
server {
    listen       82;
    root         /www/wwwroot/test2;
    index        index.html;
    location / {}
}

2、内网进行端口转发(监听80端口)

// nginx.conf
# nginx 81端口配置 (监听test1二级域名)
server {
    listen  81;
    server_name     test1.gwj1314.space;
    location / {
        proxy_pass      http://localhost:81; # 转发
    }
}

# nginx 82端口配置 (监听test2二级域名)
server {
    listen  82;
    server_name     test2.gwj1314.space;
    location / {
        proxy_pass      http://localhost:82; # 转发
    }
}

example

实际转发的时候,记得加上JavaScript,css和图片等元素的转发。

server
{
    listen 80;
    server_name ftp.gwj1314.space;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/chfs;
    
   	location / {
        proxy_pass      http://localhost:81; # 转发
    }
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
    	proxy_pass      http://localhost:81; # 转发
        expires      30d;
        error_log off;
        access_log /dev/null;
    }
    
    location ~ .*\.(js|css)?$
    {
    	proxy_pass      http://localhost:81; # 转发
        expires      12h;
        error_log off;
        access_log /dev/null; 
    }

}

Nginx配置共用80端口|端口转发端口映射

相关标签: 搞事情