Nginx反向代理和負載均衡詳解

Nginx作為反向代理服務器,可以對Web服務器提供加速,并且具有負載均衡的功能。nginx可以自動剔除停止服務的服務器,保證web服務的正常訪問。
本例實現一個用戶訪問192.168.1.4,將其代理到192.168.1.2:80、192.168.1.3:80這兩臺服務器實現負載。

以下為配置文件 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默認是以輪詢的方式實現負載均衡,這種方式中,每個請求按時間順序逐一分配到不同的后端服務器,
#如果后端服務器down掉,能自動剔除。另外一種方式是ip_hash:每個請求按訪問ip的hash結果分配,
#這樣每個訪客固定訪問一個后端服務器,可以解決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 / {
#設置反向代理的地址
proxy_pass http://webserver;
#設置主機頭和客戶端真實地址,以便服務器獲取客戶端真實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 ;
}
}
以上就是Nginx反向代理和負載均衡實踐的相關教程,希望能幫助到大家。


北京pk10计划在线计划