打算用帝国做个垃圾站,用的是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

共有 0 条评论