打算用帝国做个垃圾站,用的是WDCP环境,一个512的VPS就做了一个站,而且还刚起步,生成目录时老是出现”504 Gateway Time-out”以及“MySQL server has gone away”的错误提示,气死我了,度娘后,记录如下:
1、解决MySQL server has gone away 在my.cnf文件中添加或者修改以下两个变量: wait_timeout=2880000 interactive_timeout = 2880000 不过我是没敢改这么大,反正加大数值了。
2、504、502错误 默认的fastcgi进程响应的缓冲区是8K, 我们可以设置大点 在nginx.conf里, 加入: fastcgi_buffers 8 128k; 这表示设置fastcgi缓冲区为8×128k 当然如果您在进行某一项即时的操作, 可能需要nginx的超时参数调大点, 例如设置成60秒: send_timeout 60; 在php-fpm.conf里 max_children设置40 request_terminate_timeout设置900
另外有人说: 将nginx.conf设置为: fastcgi_connect_timeout 300s; fastcgi_send_timeout 300s; fastcgi_read_timeout 300s; fastcgi_buffer_size 128k; fastcgi_buffers 8 128k;#8 128 fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; 这里最主要的设置是前三条,即 fastcgi_connect_timeout 300s; fastcgi_send_timeout 300s; fastcgi_read_timeout 300s; 这里规定了PHP-CGI的连接、发送和读取的时间,300秒足够用了,因此我的服务器很少出现504 Gateway Time-out这个错误。最关键的是php-fpm.conf的设置,这个会直接导致502 Bad Gateway和504 Gateway Time-out。
还有人说: 服务器老是504错误.网上搜索教程说修改如下.但是好像找不到 php-fpm.conf和 nginx.conf
1)调整php-fpm.conf的相关设置: 32 30s 2)调整nginx.conf的相关设置: fastcgi_connect_timeout 600; fastcgi_send_timeout 600; fastcgi_read_timeout 600; fastcgi_buffer_size 256k; fastcgi_buffers 16 256k; fastcgi_busy_buffers_size 512k; fastcgi_temp_file_write_size 512k;
以上内容为其他网页上直接复制过来,其大意基本一至,就是改那几个文件里的数值。
附上文件的地址,以防下次又是一顿好找:
/www/wdlinux/nginx-1.0.15/conf/nginx.conf /www/wdlinux/etc/my.cnf /www/wdlinux/etc/php-fpm.conf