abstract:Nginx作為反向代理服務(wù)器,可以對Web服務(wù)器提供加速,并且具有負載均衡的功能。nginx可以自動剔除停止服務(wù)的服務(wù)器,保證web服務(wù)的正常訪問。本例實現(xiàn)一個用戶訪問192.168.1.4,將其代理到192.168.1.2:80、192.168.1.3:80這兩臺服務(wù)器實現(xiàn)負載。以下為配置文件 nginx.conf:user www www; worker_processes
Nginx作為反向代理服務(wù)器,可以對Web服務(wù)器提供加速,并且具有負載均衡的功能。nginx可以自動剔除停止服務(wù)的服務(wù)器,保證web服務(wù)的正常訪問。
本例實現(xiàn)一個用戶訪問192.168.1.4,將其代理到192.168.1.2:80、192.168.1.3:80這兩臺服務(wù)器實現(xiàn)負載。
以下為配置文件 nginx.conf:
user www www; worker_processes 10; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; #最大文件描述符 worker_rlimit_nofile 51200; events { worker_connections 51200; } http { include conf/mime.types; default_type application/octet-stream; keepalive_timeout 120; tcp_nodelay on; #nginx的upstream默認是以輪詢的方式實現(xiàn)負載均衡,這種方式中,每個請求按時間順序逐一分配到不同的后端服務(wù)器, #如果后端服務(wù)器down掉,能自動剔除。另外一種方式是ip_hash:每個請求按訪問ip的hash結(jié)果分配, #這樣每個訪客固定訪問一個后端服務(wù)器,可以解決session的問題。 upstream webserver { server 192.168.1.2:80 weight=1; server 192.168.1.3:80 weight=1; } server{ listen 80; server_name localhost; location / { #設(shè)置反向代理的地址 proxy_pass http://webserver; #設(shè)置主機頭和客戶端真實地址,以便服務(wù)器獲取客戶端真實IP proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } log_format localhost '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /data1/logs/www.log localhost ; } }