当前平台: windows
nginx版本: 1.11.5
前言: 在配置负载均衡时,同时也需要设置反向代理,当修改了nginx.conf时,发现nginx服务无法开启。
1. 打开"nginx/logs/error.log",查看最新的错误日志, invalid host in upstream
红色: 后端服务器的主机无效,蓝色: 主机地址: http://192.168.29.128 绿色: 错误行数在nginx.conf的55行。 大概的也就出来了,就是设定负载均衡服务器的128主机无法访问,或者拒绝访问等等。
2. 查看设定负载均衡服务器列表的地方
upstream webservers {
server http://127.0.0.1 weight=10;
server htpp://192.168.29.130 weight=10;
}
3. 查看虚拟服务器vhosts.conf的配置
server {
listen 80;
server_name www.bjy.com www.bjy.com;
root "D:set-softphpstudy2018PHPTutorialWWWaijunyao-bjyadmin";
location / {
proxy_pass http://webservers;
proxy_set_header X-Real-IP $remote_addr; #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ .php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
4. 发现反向代理的proxy_pass里和负载均衡服务器列表都带了http://,而webservers就已经代表了服务器列表中的一个,所以只需在列表中的地址去除http://就可以。
有什么问题可以在下面公众号下留言