nginx重启报错(nginx出错)
nginx重启报错
某链接在微博客户端打开报405不允许的错误已解决。
原因:该链接应该是get请求,微博客户端是以post请求的,nginx处理静态页面不允许post请求,否则就报405。
解决:在nginx层将报错405的链接修改为get请求,
nginx出错
进入 站点的人过多,会导致负载过高的其中一个原因
其他因素也会有导致负载过高,例如程序里有死循环、站点并发数过高、
检查一下你的web配置
什么情况下会出现“502 Bad Gateway nginx/1.0.15”,看看日志,分析一下
nginx启动报错
登机启动报错找不到推荐文件,可在上面设置查找。
nginx重启报错logs.pid
一、tomcat问题排查
1.JAVA_HOME
1.1 问题描述:点击startup.bat之后,屏幕一闪而过
1.2 检查问题: 首先通过cmd命令进入控制台,然后切换到对应的目录执行startup命令,得到JRE_HOME environment .... 这个提示,就表示JAVA_HOME环境变量没有设置
1.3 问题分析:Tomcat本身是JAVA程序,必须要有JDK才可以执行,所以必须配置JAVA_HOME。
1.4 解决:先检查jdk是否安装配置成功,再进行tomcat的安装。
2.CATALINA_HOME未设置
2.1问题描述:点击startup.bat之后,屏幕一闪而过
2.2检查问题:首先通过cmd命令进入控制台,然后切换到对应的目录执行startup命令,得到CATALINA_HOME environment .... 这个提示,就表示CATALINA_HOME环境变量设置错误。
2.3问题分析:Tomcat执行必须依赖CATALINA_HOME或者CATALINA_BASE这两个环境变量。 如果没有在环境变量里配置过,那么会自动采用bin目录的父目录作为CATALINA_HOME和CATALINA_BASE。 如果配置了,而所配置的地方又不是正确的TOMCAT目录,那么就会出现这个错误。
2.4解决:
2.4.1. 在环境变量中删除CATALINA_HOME,CATALINA_BASE的配置,记得不仅要检查环境变量,还要检查用户变量.
2.4.2. 或者把CATALINA_HOME设置为正确的TOMCAT目录。
3.CATALINA_HOME错误设置
3.1问题描述:Tomcat可以成功启动,但是就是不能访问自己配置的web应用,老是提示404错误
3.2检查问题:如图所示, 在环境变量里,CATALINA_HOME设置在了另一个合法的tomcat目录上,所以无论运行哪个startup.bat,都会导致这个d:/tomcatxxxx目录下的程序被启动,而不是你期望的那个。
3.3问题分析:默认的Tomcat会优先根据环境变量中的CATALINA_HOME来定位目录,并运行。
3.4解决:
3.4.1. 在环境变量中删除CATALINA_HOME,CATALINA_BASE的配置,记得不仅要检查环境变量,还要检查用户变量。
3.4.2. 或者使用本站的纯净版 Tomcat,已经取消了对环境变量CATALINA_HOME和CATALINA_BASE的依赖。
4.端口冲突
4.1问题描述:提示大量错误,其中会看到提示Address already in use: JVM_Bind <null>:80,即表示端口被占用了。
4.2检查问题:如果是这个错误,在TOMCAT目录下的logs目录里,会有一个日志文件:catalina.yyyy-mm-dd.log(当天时间),在这个日志文件里会记载一样的错误:Address already in use: JVM_Bind <null>:80。即表明80端口被占用了。
4.3问题分析:端口是独占式的,一旦一个程序占用了这个端口,其他程序就不能够再去占用它了。而80端口,有可能是被已经存在的Tomcat占用了,也有可能是被其他不知名的软件占用了,比如Apache,IIS,Oracle等等。
4.4解决:我们分步走:查看80端口被哪些程序占用了 根据pid(进程id) 查询对应的应用程序 根据名称 结束该程序
4.4.1.查看80端口被哪些程序占用了
进入cmd:输入命令:netstat -ano|findstr "80"
找到对应的pid的进程id(假如是1880)
4.4.2 根据pid(进程id)查询对应的程序
进入cmd :输入命令:tasklist|findstr "1880"
会发现某个程序占用了80端口
4.4.3 根据程序的名字结束这个程序
进入cmd :输入命令: taskkill /f /t /im java.exe(java.exe这里是假想的程序名字,具体问题具体分析)
5.404问题 :
404表示File Not Found, 文件不存在错误。
5.1正确的端口号
出现404错误证明,TOMCAT是启动成功了的。 但是在一台计算机上,可以启动多个端口号不一样的TOMCAT, 所以请确保自己访问的是正确的那个端口号,别自己启动的是8080端口号的TOMCAT,但是访问的地址却用的是80端口(默认),这样肯定会出现404错误的。
5.2环境变量
假设有两个Tomcat A和 B,自己分明运行的是B 下的startup.bat, 但是启动的却是A,为什么会这样呢? 这就是环境变量在作祟了。在环境变量中有两个属性:分别是CATALINA_HOME和CATALNIA_BASE,如果这个值指向的是A,那么即便运行的是B下的startup.bat, 真正启动的还会是A。
解决办法: 删除掉这个环境变量,或者使用移除了环境变量影响的纯净版 Tomcat。
5.3确定Web应用是否成功启动
虽然Tomcat启动成功了,但是对应的Web应用启动失败,依然会导致404错误。怎么判断Web应用成功与失败呢? 倘若Web引用启动失败,那么就一定会在Tomcat的logs目录下的 localhost.当前日期.log 里留下错误信息。打开这个文件,检查对应的Web应用是否启动过程中报错了。 也许是web.xml多写了一个标签结束,也许是对应的servlet类找不到。
5.4webapps下的ROOT目录
有的时候,在server.xml 中配置的<context 是以“/"为开始路径的,与此同时,在webapps目录下还存在一个ROOT目录,这个ROOT目录其实也是告诉tomcat,以“/” 为开始路径,那么这样就发生冲突了,Tomcat只能二选一,通常情况下都会选择ROOT目录,那么在server.xml中配置的就<context 就无法启动了,导致访问对应的资源提示404错误。
解决办法就是删除掉ROOT目录,或者把ROOT目录重命名
5.5访问地址的时候是否加了web应用的名称
5.6是否访问对资源了
5.7不能访问WEB-INF目录下的资源
从安全角度触发,TOMCAT不允许访问WEB-INF目录下的HTML,JSP文件。 所以如果你的资源文件放在WEB-INF下,也会提示404错误
5.8核对访问地址
nginx重启不生效
1、首先,在浏览器上按F12,Network栏目,查看接口的响应状态,如果是failed,则可能是几种原因:
1.可能是自己网络断了
2.可能是自己的服务挂了
3.可能是服务器挂了
2、如果status返回的状态是404,则是路径写的不正确,访问不到后台路径,这个时候服务器返回404。
3、如果status返回的状态是500,则是服务器内部发生错误,这个时候要找后台开发人员定位一下原因,也有可能是请求方式写错了,可能将Post请求写成了Get请求。
4、如果status返回的状态是502,可能是代理服务器关闭,这个时候如果用的是nginx服务器要检查一下服务器有没有关闭。或者查看一下nginx的启动进程是不是多个,如果是多个的话全部杀掉,然后重新启动nginx
5、如果返回的是403,则表示无权访问服务器上的资源,可能是没有token,或者token失效。
6、如果返回的是400,则可能是发往后台的数据格式错误,比如后台用的是一个对象接受参数,结果你传参了一个字符串,所以可能会报400错误。
nginx重启服务命令
windows下如果nginx服务启动了话,在任务管理器中可以看到它的进程,否则则表示未正常启动。查看方法:在任务栏空白处右击,弹出菜单中选择”任务管理器“
命令状态法
运行 nginx -s stop (停止) nginx -s reopen(重启) 如果没有报错误信息,则表示原来nginx是启动的。
方法:同时按下win+R,输入:cmd,回车打开命令行窗口。然后使用Cd命令切换到nginx安装目录,运行上面的命令。
注意:运行nginx -s stop 后,需再次运行:start nginx 来启动服务。
nginx 重启加载文件
访问nginx服务界面的不显示解决方法如下:
1.
打开终端,连接至服务器
2.
当你配置完毕之后,发现网页无法正常显示页面。先查看80端口起来没。
3.
关闭selinux。进入etc目录下,找到selinux。
4.
打开config配置文件。将selinux的值设置为disabled。
5/6
关闭防火墙。
6/6
检查语法与重新启动。在nginx的配置过程中,无论更改了什么东西,都必须重新启动。检查语法不是强制性的,但是也是建议的。如果哪一点有错误,检查语法的命令会返回出具体的位置,有利于排错。
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.