在 Linux 上使用 Nginx 配置负载均衡,通常是通过 upstream 模块实现的。下面从基础到常用配置一步步说明。
一般在以下位置之一:
/etc/nginx/nginx.conf
/etc/nginx/conf.d/*.conf
http {
upstream backend {
server 192.168.1.101:8080;
server 192.168.1.102:8080;
server 192.168.1.103:8080;
}
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
nginx -t
systemctl restart nginx
upstream backend {
server 192.168.1.101;
server 192.168.1.102;
}
upstream backend {
server 192.168.1.101 weight=3;
server 192.168.1.102 weight=1;
}
upstream backend {
ip_hash;
server 192.168.1.101;
server 192.168.1.102;
}
upstream backend {
least_conn;
server 192.168.1.101;
server 192.168.1.102;
}
server 192.168.1.103 down;
server 192.168.1.104 backup;
upstream backend {
server 192.168.1.101 max_fails=3 fail_timeout=30s;
server 192.168.1.102 max_fails=3 fail_timeout=30s;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
location / {
proxy_pass http://backend;
}
}
nginx -t # 检查配置
journalctl -u nginx
tail -f /var/log/nginx/error.log
如果你需要:
可以告诉我你的使用场景,我可以给你更具体的配置。