zoukankan      html  css  js  c++  java
  • 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; 

         

  • 相关阅读:
    Goahead在linux环境下安装部署
    vim卡住怎么办
    Clickhouse 实现 row number功能
    JavaScript ES6 模块化
    MySQL012事务的四个基本特征是什么
    MySQL015简述mysql中索引类型有哪些,以及对数据库的性能的影响
    MySQL010MySQL执行计划怎么看
    JavaScript ES6 Promise
    MySQL011如何处理MySQL的慢查询
    MySQL009MySQL为什么需要主从复制和读写分离
  • 原文地址:https://www.cnblogs.com/zyrs/p/13653150.html
Copyright © 2011-2022 走看看