这位怪蜀黍 中午的时光真难熬!还好有你在!

Nginx-多服务绑定80端口及映射域名

多服务绑定80端口及映射域名

说明:业务需要配置的样例模板,如需深入了解,请查看官方文档

 

1.Nginx配置文件nginx.conf(可拆分多台机器部署)

worker_processes  1;
events {
    worker_connections  1024;
}

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

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    upstream apiServices{ 
        server 192.168.1.100:80;
        server 192.168.1.101:80;
        server 192.168.1.102:80;
    }

    server { 
        listen       80; 
        server_name  www.test.com;
        client_max_body_size 100M;
        location / {
            try_files $uri @www;
        }
        location @www{
            internal;
            proxy_pass http://127.0.0.1:6666;
            include req_proxy.conf;
        }
    }
    server {
        listen       80;
        server_name  maven.test.com;
        client_max_body_size 20M;
        location / {
            try_files $uri @maven;
        }
        location @maven {
            internal;
            proxy_pass http://192.168.1.103:8081;
            include req_proxy.conf;
        }
    }

    server {
        listen       80;
        server_name  pbs.test.com;
        client_max_body_size 20M;
        location / {
            try_files $uri @pbs;
        }
        location @pbs {
            internal;
            proxy_pass http://192.168.1.103:8888;
            include req_proxy.conf;
        }
    }

    server {# www.test.com绑定网址
        listen       6666;
        server_name  localhost;
        charset utf-8;
        server_name_in_redirect off;
        port_in_redirect off;

        gzip on;
        gzip_static on;
        gzip_min_length 10k;
        gzip_types text/javascript application/javascript text/css application/json;
        gzip_proxied any;
        gzip_vary on;
        gzip_comp_level 6;
        gzip_buffers 16 8k;
        gzip_http_version 1.1;
        
        root    D:/web/dist;#vue项目
        index  index.html index.htm;    #目录内的默认打开文件,如果没有匹配到index.html,则搜索index.htm,依次类推--root的详解版本
        location /{
            try_files $uri $uri//index.html;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404
        }

        location = /index.html {
            add_header Cache-Control no-cache;
        }

        location ~ /static/ {
            add_header Cache-Control no-cache;
        }

        location ~ /(js/*|css/*|img/*|font/*) {
            expires 30d;
            add_header Cache-Control public;
        }

        
        location /api/{#要访问的后端服务
            proxy_pass http://apiServices;
            proxy_cookie_path '/api' '';
            #sub_filter '127.0.0.1:8181' '192.168.1.103/api/';
            #sub_filter_once off;
        }
    }

    server { #pbs.test.com绑定资源
        listen       8888;
        server_name  localhost;
        charset utf-8;
        server_name_in_redirect off;
        port_in_redirect off;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location /photos {
            root  D:/resources;
            rewrite ^/photos/(.*)$ \photos\$1 break;
        }        
        location /videos {
            root  D:/resources;
            rewrite ^/videos/(.*)$ \videos\$1 break;
        }

    }

}

2.include引入统计配置req_proxy.conf

proxy_connect_timeout 30s; 
proxy_send_timeout 120; 
proxy_read_timeout 120; 
proxy_buffer_size 32k; 
proxy_buffers 4 32k; 
proxy_busy_buffers_size 64k; 
proxy_redirect off; 
proxy_hide_header Vary; 
proxy_set_header Accept-Encoding ''; 
proxy_set_header Host $host; 
proxy_set_header Referer $http_referer; 
proxy_set_header Cookie $http_cookie; 
proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

     

posted @   自由人生™  阅读(149)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示