问题描述:
突然好多网页崩掉,进入后台发现进程还在,不清楚问题在哪里?没有PID进程
问题排查:
(1)进入后台服务器,查看应用进程是否正常?
有进程。
(2)将进程全部杀掉后,重启,再看进程?
未启动成功。
问题详解:
(1)问题出现前都进行过哪些操作?如可回退,回退后是否正常?
比如更新包,改过配置文件。那就回退,把刚刚改的东西都给去掉,还原后重启查看,是否有进程,是否正常。
(2)是否涉及到版本升级等操作,是否兼容?
有很多涉及到mysql版本和ES版本,是否因为本次更新包或配置文件与版本有冲突,比如测试环境ES版本为6,生产环境ES版本为7,那就有可能是ES版本问题导致。
解决方案:
(1)进程启动路径是否正确?
启动路径,距离说明,nginx启动时要使用到nginx.conf配置文件,但启动的时候路径错误导致nginx未启动成功(这个错误我初期犯过多次。)
cd /nginx/nginx/bin
./nginx -c /nginx/nginx/conf/nginx.conf
(2)进程启动用户是否正确?
有些进程只能某些用户启动,其他账号可能无权限。再拿nginx举例说明,有些客户指定要用某一用户启动对应应用,比如生产环境上的nginx客户现场统一使用用户“appadmin”启动。那你在改完代理文件后重启nginx时,就要注意使用客户现场统一使用用户“appadmin”才可以。
(3)进程文件的权限是否正确?
有些权限是777,有些权限是755,744。当更新配置文件或后端包文件重启时,要查看权限是否有更改, chmod 755 -R /appsoft/soft/app1 ,然后再启动。我之前遇到的情况就是更新文件后发现start.sh的权限是744,所以没有启动成功,但重新赋运权限后就正常了。
(4)source /etc/profile,或普通用户:source ~/.bash_profile
环境变量的问题,只有有类似情况就排查一下。也可以先用当前用户javac或者java -version,看java是否正常。