关于各个系统客户常见问题解答第三期
1、Q:修改文件时,删除runtime缓存并且重启服务器后,数据仍然没有变化
A:存在两种情况,先看一下是否域名加cdn了,如果加了记得再刷新下cdn;如果不行那就关闭opcache
2、Q:负载均衡中如何使用Redis实现共享session
A:修改配置文件php ini,修改内容如下:session.save_handler=redis
Session.save_path=tcp://127.0.0.1:6379(redis内网地址)
修改完成后退出保存并重启php服务生效
3、Q:我使用腾讯clb负载转发后,检测不到后端服务器并且报告异常
A:原因排查:(排查前提是负载和后端服务器在同一个地区内,同一个网络环境下)
(1)后端服务器是否正常安装并且启动服务,能够正常监听80端口
(2)关闭防火墙或者开启防火墙后80端口正常放行
如果上面正常配置后还是检测不到后端服务器端口的话, 配置如下参数(即后端服务器是否有开启快速回收、时间戳重用功能)
具体修改:vim sysctl.conf
Net.ipv4.tcp_tw_reuse=1表示开启重用,允许将TIME=WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
Net.ipv4.tcp_tw_reuse=0表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭
Net.ipv4.tcp_timetamps=1表示开启时间戳,默认为0,表示关闭
注意:修改后,可使用sysctl -p使修改生效
如果还是不行,修改http状态码检测,勾选http_5xx,随后检测到后端服务器
4、Q:出现502错误提示
A:一般都可以归结为上述两个原因,php-fpm进程数不够用和php脚本执行超时
1.php-fpm进程数不够用
使用 netstat -napo |grep "php-fpm" | wc -l
查看一下当前fastcgi进程个数,如果个数接近php-fpm.conf里配置max_child的上限,就需要调高进程数,每个php进程占用内存大约30M,根据具体内存大小来调整
2.php脚本执行超时
在php.ini和php-fpm.conf中分别有这样两个配置项:max_execution_time和request_terminate_timeout
max_execution_time=1,不一定1s后就会中止脚本,可能是2s、3s甚至更长的时间;而request_terminate_timeout=4则就会在4s后中止脚本的执行。所以在配置超时时间的时候,最好两个都配置,max_execution_time时间短一点,而request_terminate_timeout时间长一点
参考建议:max_execution_time=30或者60
request_terminate_timeout=120
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任www.yunbaokj.com