摘要:遇到的个问题问题启动后,连接成功,时无反应,查看进程存在。问题,,访问页面正常,访问页面每次出现错误,修改配置文件调大响应时间均无效。一些尝试这两个问题不是同一天遇到的,究根结底原因是一样的。
遇到的2个问题
问题1: redis-server启动后,redis-client连接成功,set时无反应,查看redis-server进程存在。
问题2: nginx,php-fpm,访问html页面正常,访问php页面每次出现504错误,修改配置文件调大响应时间均无效。
这两个问题不是同一天遇到的,究根结底原因是一样的。奇葩的是nginx之前运行的好好的,突然就504了怎么改也回不来了,修改配置文件,查看错误日志,重启,重装软件,这些尝试后都没有效果。 google有说把php-fpm的listen由ip加端口号改成sock的,试了也没有效果。后来让php-fpm在后台运行,问题就没有了。redis-server也是同样。
反思运行方式错误
启动php-fpm和redis-server的时候我是前台运行,然后ctrl-z的,这样进程就处于挂起状态了。php-fpm超时,redis没反应也就不难理解了。让进程在后台可靠运行的几种方法。
ctrl-c 是发送SIGINT信号,终止一个进程;ctrl-z 是发送 SIGSTOP信号,挂起一个进程;ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。可以通过jobs查看当前有多少在后台运行的命令;通过fg命令将后台中的命令调至前台继续运行;也可以用bg将一个在后台暂停的命令,变成继续执行 (在后台执行)。
在ps查看进程状态的时候忽略了进程的状态
常见的进程状态:
D 不可中断 Uninterruptible(usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核2.6开始无效)
X 死掉的进程
<高优先级
n低优先级
s包含子进程
+位于后台的进程组
在前台运行php-fpm然后ctrl-z状态是T,而正常运行时看到的是S,有的是Ss,Ss的那个主进程。
更好的启动方式
编写php-fpm启动脚本/etc/init.d/php-fpm,加入到service中,通过service来管理php-fpm的启动。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/20905.html
摘要:注意如果图片显示不正常把这个改成。使用库方式切换操作各个数据库保存快照的频率,第一个表示多长时间,第二个表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。保存快照是否使用压缩数据快照文件名只是文件名,不包括目录。 Nginx+Tomcat集群第三步(负载均衡+基于Spring Boot的Session共享) Nginx和Tomcat没安装好的可以参考前两步: Ce...
阅读 3610·2021-11-15 11:38
阅读 2804·2021-11-11 16:55
阅读 2554·2021-11-08 13:22
阅读 2629·2021-11-02 14:45
阅读 1307·2021-09-28 09:35
阅读 2574·2021-09-10 10:50
阅读 466·2019-08-30 15:44
阅读 2778·2019-08-29 17:06