nginx老是挂掉(nginx常见故障)
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
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.