美文网首页
Nginx.conf实际项目配置

Nginx.conf实际项目配置

作者: 易冷zzz | 来源:发表于2020-05-04 15:30 被阅读0次

项目组实际线上服务器配的nginx配置:

#工作进程数
worker_processes  1;

#错误日志存放路径
#error_log  /var/log/nginx/error.log warn;

#进程标识符存放路径
#pid        /tmp/nginx.pid;


events {
    #每个进程的最大连接数量
    worker_connections  1024;
}

#设定http服务器,利用其反向代理提供负载均衡支持
http {
    #设定mime类型,由mime.types文件定义
    #include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    #日志格式设置
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    #指定日志存放路径
    #access_log  /var/log/nginx/access.log  main;

    #指定nginx是否调用sendfile函数来输出文件
    sendfile        on;
    
    #是否允许socket的TCP_CORK的选项,仅在使用sendfile时使用
    #tcp_nopush     on;

    #超时时间
    keepalive_timeout  65;

    #gzip  on;

    #通过nginx上传文件的大小
    client_max_body_size    1000M;

    #动态服务器组(webbas网关)
    upstream webbas_gateway {
        server 10.1.5.174:9088;
        server 10.1.5.176:9088;
        ip_hash;#依据ip分配方式,保证每个访客固定访问一个后端服务器
        #keepalive 1024;
    }

    #动态服务器组(server)
    upstream atmp_client {
        server 10.1.5.174:8099;
        server 10.1.5.176:8099;
        ip_hash;
        #keepalive 1024;
    }

    #动态服务器组(文件服务器)
    upstream atap_fastdfs {
        server 10.1.5.181:8011;
        #keepalive 1024;
    }

    #开启websocket代理功能
    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }

    #配置虚拟机
    server {
        #虚拟机监听端口
        listen       8090;
        #虚拟机访问域名
        server_name  localhost;
        #隐藏版本号
        server_tokens off;
        #设置编码格式
        charset utf-8;
        #指定日志存放路径
        access_log  /nginx/logs/user.access.log  main;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

        # webbas前端访问后台(对含有web的地址进行负载均衡)
        location ~/web {
            #设置被代理服务器的端口及url
            proxy_pass http://webbas_gateway;
            add_header From localhost;
            #proxy_cookie_path /admin/ /;
            #proxy_cookie_path /admin /;
            
            #将代理服务器的用户信息传到真实服务器
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Cookie $http_cookie;
        }
        
        #文件服务器
        location /res {
            proxy_pass http://atap_fastdfs/;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Cookie $http_cookie;
            add_header Content-Disposition "attachment;filename=$arg_attname";
        }
        
        #前端CAS登录
        location = /casIndex {
            if ( $uri != '/web/cas/login' ) {
                rewrite '/casIndex' '/web/cas/login' last;
            }
        }
        
        #前端CAS登出
        location = /casLogout {
            if ( $uri != '/web/cas/logout' ) {
                rewrite '/casLogout' '/web/cas/logout' last;
            }
        }
    }

    server {
        listen       8080;
        server_name  localhost;

        server_tokens off;

        charset utf-8;
        access_log  /nginx/logs/mobile.access.log  main;

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

        # webbas前端访问后台
        location ~/atmp/web/api {
            proxy_pass http://atmp_client;
            add_header From localhost;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Cookie $http_cookie;
        }

        location /res {
            proxy_pass http://atap_fastdfs/;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Cookie $http_cookie;
        }
    }

    #client_body_temp_path /tmp/client_temp;
    #proxy_temp_path       /tmp/proxy_temp_path;
    #fastcgi_temp_path     /tmp/fastcgi_temp;
    #uwsgi_temp_path       /tmp/uwsgi_temp;
    #scgi_temp_path        /tmp/scgi_temp;

}

相关文章

网友评论

      本文标题:Nginx.conf实际项目配置

      本文链接:https://www.haomeiwen.com/subject/itcyghtx.html