Nginx ("engine x") 是高效能的HTTP和 反向代理 伺服器,也是一個 IMAP/POP3/SMTP 伺服器。 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反向代理程式和負載平衡實作的相關教學課程,希望能幫助大家。
相關推薦:
LNMP環境更換Nginx伺服器為Tengine的範例程式碼
以上是Nginx反向代理與負載平衡實踐的詳細內容。更多資訊請關注PHP中文網其他相關文章!