nginx配置

以:testproject.com爲例(一般位置未:/data/nginx/conf/conf.d)

 

//註釋版本,下面有清潔版本

 

upstream testproject {  //配置主程序的負載均衡(以兩臺服務器未例)
        server 172.1.1.1:10001 weight=4 max_fails=2 fail_timeout=30s;
        server 172.1.1.2:10001 weight=4 max_fails=2 fail_timeout=30s;
    }

upstream testproject_repFile { //文件服務,指向tomcat服務
        server 172.1.1.3:10002;
    }

upstream testproject_picFile {//圖片服務,指向tomcat服務(我是文件和圖片分開、可以放在一起)
        server 172.1.1.4:10003;
    }
upstream testprojectTwo { //調用其他服務的接口配置(其他服務以兩臺服務爲例)
        server 172.1.1.5:10004 weight=4 max_fails=2 fail_timeout=30s;
        server 172.1.1.6:10004 weight=4 max_fails=2 fail_timeout=30s;
    }

server {
        listen       80;
        server_name  testproject.sunshinelunch.com;
        proxy_intercept_errors on;

 

        location / { //前段代碼,一般放在:/data/nginx這個目錄,以靜態資源的方式訪問,保證域名可以直接訪問到前端界面 ,訪問方式:http://testproject.com
                root /data/nginx/testproject_repFile/; //上面upstream配置
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location ^~ /bdbiprocsrvtestproject/ {   //配置主程序接口服務,域名訪問被前端代碼佔用,所以此處【bdbiprocsrvtestproject】方式,接口訪問:http://testproject.com/bdbiprocsrvtestproject/具體的接口路徑
                proxy_pass         http://testproject/;//上面upstream配置
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                proxy_connect_timeout   30s;
                proxy_send_timeout      150s;
                proxy_read_timeout      150s;
                proxy_buffer_size 64k;
                proxy_buffers   4 32k;
                proxy_busy_buffers_size 64k;
                proxy_temp_file_write_size 64k;
                proxy_next_upstream error timeout invalid_header http_404 http_500 http_502 http_504;
        }

        location /repFile/ { //文件服務,訪問方式http://testproject.com/repFile/具體的文件路徑和名稱
           proxy_pass http://testproject_repFile/;//上面upstream配置
           proxy_read_timeout 400;
           proxy_next_upstream off;
           proxy_set_header    X-Real-IP $remote_addr;
           proxy_set_header    Host $http_host;
           client_max_body_size    10m;
        }
        location /picFile {  
           proxy_pass http://testproject_picFile;
           proxy_read_timeout 400;
           proxy_next_upstream off;
           proxy_set_header    X-Real-IP $remote_addr;
           proxy_set_header    Host $http_host;
           client_max_body_size    10m;
        }

        location /testprojecttwo/ {  //訪問其他服務的接口,又想用【testproject.com】訪問,用此配置,此配置訪問方式:http://testproject.com/testprojecttwo/appBdcUser/login(此接口爲【testprojectTwo】項目上的接口)
                proxy_pass         http://testprojectTwo/; //上面upstream配置
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                proxy_connect_timeout   30s;
                proxy_send_timeout      150s;
                proxy_read_timeout      150s;
                proxy_buffer_size 64k;
                proxy_buffers   4 32k;
                proxy_busy_buffers_size 64k;
                proxy_temp_file_write_size 64k;
                proxy_next_upstream error timeout invalid_header http_404 http_500 http_502 http_504;
        }
        location /appBdcUser {  //和上面不同的是,此接口訪問是:http://testproject.com/appBdcUser/login 不用加【testprojecttwo】
           proxy_pass http://testprojectTwo; //上面upstream配置
           proxy_read_timeout 400;
           proxy_next_upstream off;
           proxy_set_header    X-Real-IP $remote_addr;
           proxy_set_header    Host $http_host;
           client_max_body_size    10m;
        }
}

 

 

//不加註釋版本

upstream testproject {
        server 172.1.1.1:10001 weight=4 max_fails=2 fail_timeout=30s;
        server 172.1.1.2:10001 weight=4 max_fails=2 fail_timeout=30s;
    }

upstream testproject_repFile {
        server 172.1.1.3:10002;
    }

upstream testproject_picFile {
        server 172.1.1.4:10003;
    }
upstream testprojectTwo {
        server 172.1.1.5:10004 weight=4 max_fails=2 fail_timeout=30s;
        server 172.1.1.6:10004 weight=4 max_fails=2 fail_timeout=30s;
    }

server {
        listen       80;
        server_name  testproject.sunshinelunch.com;
        proxy_intercept_errors on;

        location ^~ /bdbiprocsrvtestproject/ {
                proxy_pass         http://testproject/;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                proxy_connect_timeout   30s;
                proxy_send_timeout      150s;
                proxy_read_timeout      150s;
                proxy_buffer_size 64k;
                proxy_buffers   4 32k;
                proxy_busy_buffers_size 64k;
                proxy_temp_file_write_size 64k;
                proxy_next_upstream error timeout invalid_header http_404 http_500 http_502 http_504;
        }
        location / {
                root /data/nginx/Testproject_ForeEndWeb/;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        location /repFile/ {
           proxy_pass http://testproject_repFile/;
           proxy_read_timeout 400;
           proxy_next_upstream off;
           proxy_set_header    X-Real-IP $remote_addr;
           proxy_set_header    Host $http_host;
           client_max_body_size    10m;
        }
        location /picFile {
           proxy_pass http://testproject_picFile;
           proxy_read_timeout 400;
           proxy_next_upstream off;
           proxy_set_header    X-Real-IP $remote_addr;
           proxy_set_header    Host $http_host;
           client_max_body_size    10m;
        }

        location /bdbiprocsrvtfitbdcomc/ {
                proxy_pass         http://testprojectTwo/;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                proxy_connect_timeout   30s;
                proxy_send_timeout      150s;
                proxy_read_timeout      150s;
                proxy_buffer_size 64k;
                proxy_buffers   4 32k;
                proxy_busy_buffers_size 64k;
                proxy_temp_file_write_size 64k;
                proxy_next_upstream error timeout invalid_header http_404 http_500 http_502 http_504;
        }
        location /appBdcUser {
           proxy_pass http://testprojectTwo;
           proxy_read_timeout 400;
           proxy_next_upstream off;
           proxy_set_header    X-Real-IP $remote_addr;
           proxy_set_header    Host $http_host;
           client_max_body_size    10m;
        }
}

發佈了23 篇原創文章 · 獲贊 9 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章