如何配置 nginx 進行負載均衡?定義上游服務器池,指定服務器 ip 和端口。定義虛擬主機,監聽連接并轉發到上游池。指定位置,匹配請求并轉發到上游池。
Nginx 配置負載均衡指南
負載均衡是一種網絡技術,可將傳入流量分布到多個服務器上,以提高性能并增強可用性。Nginx 是一款流行的 Web 服務器,可用于配置負載均衡。
配置步驟
要配置 Nginx 負載均衡,請在 Nginx 配置文件中添加以下指令:
upstream my_upstream { server 192.168.1.100:80; server 192.168.1.101:80; server 192.168.1.102:80; } server { listen 80; server_name my-domain.com; location / { proxy_pass http://my_upstream; } }
登錄后復制
詳細說明
upstream 塊定義了上游服務器池,其中包含要進行負載均衡的服務器列表。server 指令指定每臺服務器的 IP 地址和端口。
server 塊定義了一個虛擬主機,它監聽傳入的連接并將其轉發到上游服務器池。server_name 指令指定虛擬主機的主機名。location / 塊定義了一個位置,它匹配所有傳入請求并將其轉發到上游服務器池。proxy_pass 指令指定上游服務器池的名稱。
負載均衡算法
Nginx 支持以下負載均衡算法:
輪詢 (least_conn):依次將請求分發到上游服務器,服務器連接數最少的優先處理請求。
權重循環 (weight):根據為每個服務器設置的權重分配請求,權重較高的服務器處理更多請求。
IP 哈希 (ip_hash):根據客戶端 IP 地址進行哈希,總是將來自同一個 IP 地址的請求發送到同一臺服務器。
可以通過在upstream 塊中使用least_conn、weight 或hash 等指令來配置這些算法。
監控和健康檢查
Nginx 提供多種監控和健康檢查機制來監視上游服務器的運行狀況。例如,可以使用proxy_monitor 模塊啟用主動健康檢查,如果服務器響應不及時,則將其從上游服務器池中標記為脫機。