nginx

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > nginx > Nginx 负载均衡无法生效

Nginx配置负载均衡时访问地址无法生效的解决方法

作者:梦凝哲雪

本文主要介绍了Nginx配置负载均衡时访问地址无法生效的解决方法,例如负载均衡策略的设置是否正确、是否存在拼写错误等,下面就来详细的介绍一下,感兴趣的可以了解一下

场景还原

今天有小伙伴练习 Nginx 配置负载均衡时总是无法使用配置好的网址访问

配置文件信详情

http {
	# 负载均衡 后端IP地址和端口  webservers  策略 轮询
	upstream webservers{
		server 192.168.1.100:8080 weight=90; 
		server 127.0.0.1:8080 weight=10; 
	}
	server{
		listen 80;
		server_name www.gj.com;
		# 后端访问地址
		location /back/ {
			proxy_pass http://webservers/yc_xxx_blog/back/;   ##反向代理执行定义的upstream名字  webservers
		}
		# 前端访问地址
		location /api/ {
			proxy_pass http://webservers/yc_xxx_blog/;   
		}
	}
}

首先检查Nginx是否正常启动

cmd -> nginx.exe

本机或自己配置域名都能正常访问

预想中的访问效果

实际中的访问效果 404

原因分析

Nginx服务进程可能被误操作开启多个导致产生许多个

1、修改配置信息未及时重载入Ngin令配置生效

nginx.exe -s reload

2、直接点击 nginx.exe ,虽然每次会闪退但是都会各自一个 nginx 进程产生

3、 nginx 停止服务的命令并不能关闭所有的进程

nginx.exe -s stop

再次使用命令还会产生错误

nginx: [error] CreateFile() "D:\softwares\nginx-1.24.0/logs/nginx.pid" failed (2: The system cannot find the file specified)

解决方案

1、每次改动配置conf文件后,及时重载入Ngin令配置生效

D:\softwares\nginx-1.24.0>nginx.exe -s reload

2、任务管理器手动杀死全部的Nginx进程 太过麻烦

有小伙伴因闪退以为未启动 点击的n次 然后手动一个个删除 人麻了

3、强制终止运行中的 nginx.exe 进程及其所有子进程

D:\softwares\nginx-1.24.0>taskkill /f /t /im nginx.exe
成功: 已终止 PID 20388 (属于 PID 18304 子进程)的进程。
成功: 已终止 PID 19984 (属于 PID 10204 子进程)的进程。
成功: 已终止 PID 18304 (属于 PID 10524 子进程)的进程。
成功: 已终止 PID 10204 (属于 PID 23032 子进程)的进程。
成功: 已终止 PID 10524 (属于 PID 7124 子进程)的进程。
成功: 已终止 PID 23032 (属于 PID 20504 子进程)的进程。

命令介绍

Windows 系统下 Nginx 服务启动、停止、重载等命令

1、启动服务

D:\softwares\nginx-1.24.0>start nginx

D:\softwares\nginx-1.24.0>nginx.exe

注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。

如果需要特殊设置nginx的配置文件路径,可以这样执行 start nginx -c conf/nginx.conf

2、停止服务

D:\softwares\nginx-1.24.0>nginx.exe -s stop

D:\softwares\nginx-1.24.0>nginx.exe -s quit

注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。

执行 nginx.exe -s stop或者quit命令是不能删除所有nginx进程!

3、重新载入Nginx

D:\softwares\nginx-1.24.0>nginx.exe -s reload

当配置信息修改,需要重新载入这些配置时使用此命令。

4、重新打开日志文件

D:\softwares\nginx-1.24.0>nginx.exe -s reopen

5、查看Nginx版本

D:\softwares\nginx-1.24.0>nginx -vnginx version: nginx/1.24.0

到此这篇关于Nginx配置负载均衡时访问地址无法生效的解决方法的文章就介绍到这了,更多相关Nginx 负载均衡无法生效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文