原文:https://my.oschina.net/wangnian/blog/791294
?
前言 ?Nginx ("engine x") 是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器。Nginx是由Igor Sysoev為俄羅斯訪問量第二的Rambler.ru站點開發的,第一個公開版本0.1.0發布于2004年10月4日。其將源代碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。2011年6月1日,nginx 1.0.4發布。因為域名只能解析80端口,所以必須需要nginx代理訪問。
1.首先下載nginx
? ?http://nginx.org/en/download.html
啟動方式 ?start nginx 啟動
? ? ? ? ? ? ? nginx.exe -s stop 停止
2.代理的方式
? server{listen ? ? ?81 ;server_name ?www.baidu.com default;index index.html;root /data/abc/;#auth_basic "input you user name and password";#auth_basic_user_file /data/test_pwd;location / {root ? /data/abc/;index ?index.html index.htm;} ??} ?server{listen 80 ;server_name www1.baidu.com default;#auth_basic "input you user name and password";#auth_basic_user_file /data/test_pwd;location / {proxy_pass http://localhost:8084; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
添加一個 server的節點
listen 80 監聽80端口
server_name??域名的地址 ?如果訪問的是weixin.wangnian.com就走代理?
location ?/ ? 訪問根路徑就走代理
代理可以直接是服務器的位置 也可以代理請求地址
?直接訪問服務器的位置?
?root ??/data/abc/;
?index ?index.html index.htm;
proxy_pass配置為:代理的地址
proxy_set_header ? Host ? ?$host;?
proxy_set_header ? X-Real-IP ? $remote_addr;?
proxy_set_header ? X-Forwarded-For $proxy_add_x_forwarded_for;?
以上三個配置,如果反向代理服務器不重寫該請求頭的話,那么后端真實服務器在處理時會認為所有的請求都來在反向代理服務器條負載均衡的配置
?
3.負載均衡配置
upstream weixin { server 127.0.0.1:8083; keepalive 2000; } server { listen 80; server_name weixin.wangnian.com; client_max_body_size 1024M; location / { proxy_pass http://weixin/; proxy_set_header Host $host:$server_port; }
? 在http節點下,添加upstream節點,可以配置多個服務器地址server,配置多個服務器地址需要配置相應的權重。
?添加一個 server的節點
?listen 80 監聽80端口
?server_name??域名的地址 ?如果訪問的是weixin.wangnian.com就走代理?
?location ?/ ? 訪問根路徑就走代理
?proxy_pass配置為:http:// + upstream名稱,即“http://weixin/”?
?proxy_set_header Host $host:$server_port;?允許重新定義或者添加發往后端服務器的請求頭