当前位置:首页 > 教程 > 正文内容

nginx老是挂掉(nginx常见故障)

2023-05-21 15:20:08教程1

nginx老是挂掉

1)DNS-server不需要动

2)负载均衡:通过nginx来保证

3)只暴露一个外网ip,nginx->tomcat之间使用内网访问

4)扩容实时:nginx内部可控,随时增加web-server随时实时扩容

5)能够保证站点层的可用性:任何一台tomcat挂了,nginx可以将流量迁移到其他tomcat

nginx常见故障

windows 10 下无法启动nginx的解决方法

问题##

windows 10 下启动nginx,闪屏而过,访问localhost显示无法访问。

分析##

cmd下使用命令:netstat -an | find "0.0.0.0:80",可以发现80端口已经被占用。

尝试##

1、改变绑定中的80端口,把原来绑定80端口的站点,换成其他端口;失败。

2、关闭World Wide Web Publishing Service;失败。

3、更改nginx目录下conf/nginx.conf下的监听端口号,把80改成其他未被占用端口号;成功!

所以可以确定是80端口的问题。

再分析##

再次使用命令:netstat -ano

可以发现占用80端口的服务pid = 4,

ctrl+shift+Esc打开任务管理器,查看详细,占先pid排序,可以查看到pid为4的进程:NT kernel & System。

解决##

经过网络查询,发现网上的提供的多种方式,单纯使用,并不能解决问题,经实践后,解决方式为2步:

第一步:使用如下命令关闭iis相关服务(管理员身份进入cmd)

net stop http

这时会有提示确认信息,提示要关闭http服务,需要停止其依赖的其他服务,输入Y

此时依赖的相关服务都会提示停止成功,到http服务时,最后会发现:http server 无法停止。

此时进入第二步。

第二步:命令行输入如下命令:sc config http start= disabled(注意start和=之间没有空格)

没有任何提示,重新出现输入提示,说明已经成功,如果有提示,请按提示进行修改。

然后重启电脑,输入netstat -ano | find "0.0.0.0:80"命令进行验证。如果没有任务输出,说明成功,如果还是有80端口相关信息输出,说明失败。可以再尝试其他方式。

说明:如果以后需要使用IIS服务,估计需要使用下列命令修复(管理员身份)

sc config http start= demand & net start http

可输入下面的命令验证

net start http

网络上还有另一种办法:

1、打开注册表:win键+R -> regedit

2、找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP

3、在右边找到Start这一项,将其改为0(我的系统原值为3)

4、重启系统,System进程不会再占用80端口

这种方式,我操作之后,没有效果。后来使用上述两步操作,成功释放80端口,但最终成功,不知道是否和这个操作有关系。

nginx运行一段时间就挂掉

Nginx有自带的健康检查参数max_fails和fail_timeout可以判断节点是否挂掉,如果挂了就自动过滤掉该节点

nginx时不时502

进入 站点的人过多,会导致负载过高的其中一个原因

其他因素也会有导致负载过高,例如程序里有死循环、站点并发数过高、

检查一下你的web配置

什么情况下会出现“502 Bad Gateway nginx/1.0.15”,看看日志,分析一下

nginx如何服务器挂了,后自动切

1、作为Web服务器,Nginx处理静态文件、索引文件,自动索引的效率非常高

2、作为代理服务器,Nginx可以实现无缓存的反向代理加速,提高网站运行速度

3、作为负载均衡服务器,Nginx既可以在内部直接支持Rails和PHP,也可以支持HTTP代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载均衡

4、在性能方面,Nginx是专门为性能优化而开发的,实现上非常注重效率。它采用内核Poll模型,可以支持更多的并发连接,最大可以支持对5万个并发连接数的响应,而且只占用很低的内存资源

5、在稳定性方面,Nginx采取了分阶段资源分配技术,使得CPU与内存的占用率非常低。Nginx官方表示,Nginx保持1万个没有活动的连接,而这些连接只占用2.5MB内存,因此,类似DOS这样的攻击对Nginx来说基本上是没有任何作用的

6、在高可用性方面,Nginx支持热部署,启动速度特别迅速,因此可以在不间断服务的情况下,对软件版本或者配置进行升级,即使运行数月也无需重新启动,几乎可以做到7x24小时不间断地运行

7、内置的健康检查功能:如果有一个服务器宕机,会做一个健康检查,再发送的请求就不会发送到宕机的服务器了。重新将请求提交到其他的节点上。

nginx请求挂起

Nginx的http模块在处理HTTP请求时对环境变量的封装与Apache有所不同。除了支持一些与HTTP协议相关的通用的变量之外,还支持一系列Nginx自有的变量,如Nginx配置目录下fastcgi_params.default文件里的$server_protocol、$nginx_version等。

nginx自动停止

Web服务器是一种应用程序,不同的Web服务器应用程序的关闭方法不尽相同,在Linux平台使用最多的Web服务器是apche和ngnix。关闭方法如下:关闭apche:/usr/local/apache2/bin/apachectl stop关闭nginx:nginx -s stop :快速停止nginx

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98854928.html