无法使用nginx进行负载平衡
在我的主机上,我有一个web服务的三个实例——它们在端口32826、32827和32828上运行。因此,当我转到127.0.0.1:32826或127.0.0.1:32827或127.0.0.1:32828时,我会在浏览器中看到一个漂亮的网页 此外,我在同一台主机上运行nginx。现在我想让它在这三个实例之间实现负载平衡。我是这样做的:无法使用nginx进行负载平衡,nginx,Nginx,在我的主机上,我有一个web服务的三个实例——它们在端口32826、32827和32828上运行。因此,当我转到127.0.0.1:32826或127.0.0.1:32827或127.0.0.1:32828时,我会在浏览器中看到一个漂亮的网页 此外,我在同一台主机上运行nginx。现在我想让它在这三个实例之间实现负载平衡。我是这样做的: worker_processes 1; events { worker_connections 1024; } http { sendfile
worker_processes 1;
events {
worker_connections 1024;
}
http {
sendfile on;
upstream app_servers {
server 127.0.0.1:32826;
server 127.0.0.1:32827;
server 127.0.0.1:32828;
}
server {
listen 80;
root /code;
index index.php index.html;
location / {
try_files $uri/ $uri/ /index.php;
}
location ~ \.php$ {
proxy_pass http://app_servers;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
location ~ /\.ht {
deny all;
}
}
}
我将此配置放入“/etc/nginx/nginx.conf”并重新启动nginx。然而,当我转到127.0.0.1时,我只看到一个默认的欢迎nginx页面。我不确定我做错了什么以及如何修复它。您将反向代理配置放在了错误的位置块下
worker_processes 1;
events {
worker_connections 1024;
}
http {
sendfile on;
upstream app_servers {
server 127.0.0.1:32826;
server 127.0.0.1:32827;
server 127.0.0.1:32828;
}
server {
listen 80;
root /code;
index index.php index.html;
location / {
proxy_pass http://app_servers;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
#location ~ \.php$ {
#proxy_pass http://app_servers;
#proxy_redirect off;
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header X-Forwarded-Host $server_name;
#}
location ~ /\.ht {
deny all;
}
}
}
Try/location块
worker_processes 1;
events {
worker_connections 1024;
}
http {
sendfile on;
upstream app_servers {
server 127.0.0.1:32826;
server 127.0.0.1:32827;
server 127.0.0.1:32828;
}
server {
listen 80;
root /code;
index index.php index.html;
location / {
proxy_pass http://app_servers;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
#location ~ \.php$ {
#proxy_pass http://app_servers;
#proxy_redirect off;
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header X-Forwarded-Host $server_name;
#}
location ~ /\.ht {
deny all;
}
}
}
我发现这个问题时,我自己的故障排除与相同的症状,但发现了不同的解决方案。 对于使用yum存储库在CentOS上进行的默认安装,nginx.conf包含 include/etc/nginx/conf.d/*.conf 我认为它覆盖了我在nginx.conf中的配置。在注释或完全删除此include语句并重新启动nginx之后,负载平衡工作正常