最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
LNMP一键安装环境502 Bad Gateway
时间:2022-06-30 18:43:47 编辑:袖梨 来源:一聚教程网
LNMP一键安装包进行环境搭建但我发现我的wordpress后台的时候,部分页面出现502 Bad Gateway错误问题了,下面我们来看解决办法。
我的PHP版本是5.2.17
mysql版本是5.1.60
WordPress版本3.8.3
看了php-fpm的日志,基本上都是类似下面的错误
代码如下 | 复制代码 |
May 13 19:35:21.668482 [WARNING] fpm_stdio_child_said(), line 167: child 12854 (pool default) said into stderr: "[Tue May 13 19:35:16 2014" May 13 19:35:21.680238 [WARNING] fpm_stdio_child_said(), line 167: child 12854 (pool default) said into stderr: "] [notice] EACCELERATOR(12854): PHP crashed on opline 469 of curl_exec() at /*/wp-includes/class-http.php:1249", pipe is closed May 13 19:35:21.680267 [WARNING] fpm_stdio_child_said(), line 167: child 12854 (pool default) said into stderr: "", pipe is closed May 13 19:35:21.680285 [NOTICE] fpm_got_signal(), line 48: received SIGCHLD May 13 19:35:21.680317 [WARNING] fpm_children_bury(), line 215: child 12854 (pool default) exited on signal 11 SIGSEGV after 2056.281254 seconds from start May 13 19:35:21.680742 [NOTICE] fpm_children_make(), line 352: child 20797 (pool default) started |
查询了网上的解决办法,修改后基本上都没有什么作用,错误依旧。
尝试了第一种方法:将unix套接字改成tcp/ip的
修改
代码如下 | 复制代码 |
/usr/local/php/etc/php-fpm.cnf < value name="“listen_address”">/tmp/nginx.socket< /value> /tmp/nginx.socket 127.0.0.1:9000 fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; |
之后,重新启动LNMP。
这种方法,解决了wodpress部分后台的502错误问题,但更新页面和插件页面还是一样出现502 Bad Gateway错误。
于是又尝试了第二种方法,将libsqlite3.so.0.8.6修改
32位的修改如下
代码如下 | 复制代码 |
mv /usr/lib/libsqlite3.so.0.8.6 /usr/lib/libsqlite3.so.0.8.6.bak mv /usr/lib64/libsqlite3.so.0.8.6 /usr/lib64/libsqlite3.so.0.8.6.bak |
修改完登陆wordpress,打开更新页面和插件页面,还真不出现502 Bad Gateway错误了。
至此问题解决。
但现在我就奇怪了,想到第二种方法的人,真是神人啊?怎么能想出这个问题的解决方案的?是如何查到的呢?
希望高人指点。
LNMP的制作者军哥说,
只有在centos 6 下 php 5.2.17 + wordpress 3.8.1下会502
wordpress beta版本没问题
php 5.3下没问题
但实际上,我现在的wordpress版本也出现了同样的问题,所以应该是PHP5.2的原因!
提醒使用LNMP一键安装的朋友们,如果你想不出现502 Bad Gateway错误,建议安装PHP 5.3版本吧!!
下面附一些不是因为php版本导致问题的解决办法
一、fastcgi缓冲区设置过小
出现错误,首先要查找nginx的日志文件,目录为/var/log/nginx,在日志中发现了如下错误。
2013/01/17 13:33:47 [error] 15421#0: *16 upstream sent too big header while reading response header from upstream
查阅了一下资料,大意是nginx缓冲区有一个bug造成的,我们网站的页面消耗占用缓冲区可能过大。
网上查找了一下解决方法,在国外网站看到了一个增加缓冲区的方法,彻底解决了Nginx 502 Bad Gateway的问题。方法如下:
代码如下 | 复制代码 |
http { ... fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; ... } |
请根据服务器已经网站的情况自行增大上述两个配置项。
二、代理缓冲区设置过小
如果你使用的是nginx反向代理,如果header过大,超出了默认的1k,就会引发上述的upstream sent too big header (说白了就是nginx把外部请求给后端处理,后端返回的header太大,nginx处理不过来就会导致502。
代码如下 | 复制代码 |
server { listen 80; server_name *.lxy.me; location / { ###############添加这3行 proxy_buffer_size 64k; proxy_buffers 32 32k; proxy_busy_buffers_size 128k; ###############添加这3行 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ............ } |
三、默认php-cgi的进程数设置过少
在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。也有可能是max_requests值不够用。需要说明的是这连个配置项占用内存很大,请根据服务器配置进行设置。否则可能起到反效果。
四、php执行超时
php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300
五、nginx等待时间超时
部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间
http {
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
......
}好了问题解决了,
最后附一个方法案三
首先检查一下ulimit -n的值,SSH输入命令:
代码如下 | 复制代码 |
# ulimit -n |
返回:65535
1、提升服务器的文件句柄打开
SSH命令:# vi /etc/security/limits.conf,在结尾处添加以下内容:
代码如下 | 复制代码 |
* soft nofile 65535 * hard nofile 65535 |
2、提升nginx的进程文件打开数
代码如下 | 复制代码 |
# vi /usr/local/nginx/conf/nginx.conf |
查看 worker_rlimit_nofile 51200;
3、修改 php-fpm.conf 配置文件
前面确认了 ulimit -n 值为 65535,/usr/local/php/etc/php-fpm.conf 中的选项 rlimit_files 确保和此数值一致。
代码如下 | 复制代码 |
4、修改 sysctl.conf
代码如下 | 复制代码 |
# vi /etc/sysctl.conf |
底部添加
代码如下 | 复制代码 |
fs.file-max=65535 |
至此,重启 /root/lnmp restart 生效,看看还有没有类似错误信息出现!
ps.为减小php-fpm.log文件大小,可将 /usr/local/php/etc/php-fpm.conf 中的 Log level 由 notice 修改为 ERROR,这样能降低日志的生成速度!
代码如下 | 复制代码 |
Log level |
相关文章
- 《绝区零》伊芙琳培养材料汇总 01-24
- 《无限暖暖》1.2春节兑换码一览 01-24
- 《网上国网》查询阶梯档位方法 01-24
- 《蛋仔派对》神游贺岁盲盒获取方法 01-24
- 《炉石传说》星际联动盗贼卡组玩法介绍 01-24
- 皮革珊瑚属于珊瑚中的 01-24