Nginx 502 Bad Gatewa

 本文仅针对php 当你的网站出现这个问题时大多数是nginx与你的php-fpm通信存在问题。一般为以下这三个问题
 
1、nginx 和 php-fpm 未使用同一个端口
	解决方案:都设置为127.0.0.1:9000
		
2、php-fpm 用户访问量大,进程数不够用或代码执行慢超时
	解决方法:修改php-fpm.conf
	pm = dynamic 				 	//随访问量变大而打开多个进程
	pm.max_children = 1000  		//最大进程数
	pm.start_servers = 20  			//开启式打开的进程数
	pm.min_spare_servers = 10 		//最少进程数
	pm.max_spare_servers = 30 		//闲置最多
	pm.max_requests = 500			//最大请求数

3、php-fpm进程由于代码错误导致进程退出
	Nginx报错
		recv() failed (104: Connection reset by peer) while reading response header from upstream
	php-fpm报错
		WARNING: [pool www] child 24801 exited on signal 11 (SIGSEGV) after 19140.416792 
	原因:	
		该错误是PHP子进程报错,结束进程。导致nginx 无法与php-fpm通信

	错误排查、最好是使用core 排查,但是发现很难装所以使用strace排查 
	1、安装strace
		apk add strace 
	2、调试php-fpm进程输出到日志文件
		strace -f -p 262 -e trace=file -o /data/trace.log
		-p: 端口号
		-f: 追踪目标进程及子进程
		-e: 控制要跟踪的事件和跟踪行为,比如指定要跟踪的系统调用名称
		-o: 把 strace 的输出单独写到指定的文件
	3、打开日志即可排查问题

你可能感兴趣的:(nginx,php,apache)