为什么nginx老是崩溃(nginx出错)
nginx出错
1、nigix是否在正常运行,需要用linux命令查看nginx运行情况。执行命令:ps -A | grep nginx。
如果返回结果的话,说明有nginx在运行,服务已经启动。如果不怕nginx关闭的话。也可以执行:service nginx restart。
把nginx服务重启,在重启时,也可以看到具体有没有什么地方出错。
2、看端口netstat -ntlp;
看进程ps -ef|grep nginx;
看日志是否更新tail -f access.log。
3、直接查看进程id:ps -C nginx -o pid。
这种直接返回pid的方式比较适合跟其他程序结合使用,比如在shell/python脚本中执行这个命令拿到pid,让后根据pid来判断Nginx是否启动。 推荐使用这种方式。
nginx503报错
一、访问出现503 service unavailable,但刷新一下又能正常访问
出现这种情况是由于网站超过了iis限制造成的,比如2003的操作系统在提示IIS过多时并非像2000系统提示“链接人数过多”,而是提示"Service Unavailable",出现这种情况是由于网站超过了系统资源限制造成的,主要是程序占用资源太多。
解决方法:增加IIS连接数就可以解决。
二、不限制IIS连接数,但还会提示503 service unavailable
这种情况一般都是使用ACCESS数据库的网站,通过分析就可以知道是ACCESS引擎当了。通过排查会发现一些文件引起ACCESS引擎“灾难性故障”及“未将对象引用设置到对象的实例”的错误。
解决方法:通过服务器医生的文件医生修复就可以恢复正常。
三、浏览一个 Windows SharePoint Services Web 站点时,提示:Service Unavailable
出现该问题的的原因是Microsoft Internet 信息服务 (IIS) 6.0 中没有正确地配置用于虚拟服务器的应用程序池。
解决方法:
1、首先我们需要验证虚拟服务器是否正确配置了应用程序池,默认的应用程序池是 MSSharePointPortalAppPool。
a).单击“开始”选择“管理工具”,然后单击“Internet 信息服务 (IIS) 管理器”。
b).打开“ServerName”,展开“Web 站点”,右键单击虚拟服务器,然后单击“属性”。
c).单击“主目录”选项卡,为虚拟服务器配置的应用程序池列在“应用程序池”框中。
d).单击“确定”即可。
2、验证应用程序池帐户是服务器上的 IIS_WPG 组和 STS_WPG 组的成员。
3、重新启动 IIS 以回收应用程序池。
四、网站第一次出现“service unavailable”问题,直接重启IIS就行了。步骤如下:
1、使用快捷键Windows+R打开运行,输入iisreset就可以实现IIS重启。
2、在开始菜单中搜索IIS,然后打开IIS,然后选择重新启动IIS也可以。
五、网站经常出现service unavailable503,或者重启iis后仍然会挂掉的方法
1、套用CDN
首先你要排除下服务器或vps资源是否够用,看下你的服务器各项资源是否都在正常值(cpu,带宽,内存等),现在的vps或者服务器都有后台面板统计的,cpu你长期百分之百肯定有问题,当你的硬件资源没有空闲时会导致iis工作不正常的,会报一些乱七八糟的错误,其实比较简单的解决方法就是网站访问加cdn,套上cdn后,网站需要的服务器资源都走cdn了,iis负载也下来了,自然不会报错。
2、关掉一些不必要的软件功能
比如很多站长用安全狗防护网站,软件确实不错,但会造成卡顿。另外你的安全级别默认或者很高的话,拦截的会非常多,有时一秒钟能拦击几个到十几个,这样也消耗了你的服务器。
3、网站自身程序问题
网站运行中如果交互性不重要,就把网站静态化,动态在iis下跑比较费力的,尤其是php
4、切换系统服务
网站如果还在用iis系统或在win上搭建的apache/nginx,建议换成linux系统,其实linux也没那么难,推荐amh或宝塔一键安装php环境,然后用winsp(类似ftp的可视化管理工具)管理文件和权限就可以了。
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 和 tomcat 之间的 timeout 参数值 504 错误是 tomcat 的程序处理不过来了,跟 nginx 没关系,检查你的程序吧,肯定会低效率的地方
nginx常见报错
nginx跨域报504错误。
Nginx 504错误(Gateway time-out 网关超时)的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out。
现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K,默认的fastcgi进程响应的缓冲区是8K, 我们可以设置大点,
nginx出错了日志在哪里
Linux每个应用运行都会产生一个进程,那么我们就可以通过查看Nginx进程是否存在来判断它是否启动。
1、有时想知道nigix是否在正常运行,需要用linux命令查看nginx运行情况。执行命令:ps -A | grep nginx。 如果返回结果的话,说明有nginx在运行,服务已经启动。如果不怕nginx关闭的话。也可以执行:service nginx restart。 把nginx服务重启,在重启时,也可以看到具体有没有什么地方出错。
2、看端口netstat -ntlp; 看进程ps -ef|grep nginx; 看日志是否更新tail -f access.log。
3、直接查看进程id:ps -C nginx -o pid。 这种直接返回pid的方式比较适合跟其他程序结合使用,比如在shell/python脚本中执行这个命令拿到pid,让后根据pid来判断Nginx是否启动。 推荐使用这种方式。
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.