WordPress 3.0 Update Network超时
September 1st, 2010
最近将Blog升级到Wordpress 3.0. 新版本支持multisite模式, 我正好可以把几个Blog合并管理. 激活多站点模式后, WordPress管理菜单中新出现了Super Admin菜单, 下面包含Update菜单项, 在Wordpress升级后, 可以通过Update Network功能同时更新当前站点下的所有Blog.
不过最近使用Update Network功能从来没有成功过, 猜测是超时的问题. 我服务器使用的是nginx + php5-fpm, nginx的error.log中相关错误是ms-upgrade-network.php脚本产生的upstream timed out:
2010/08/18 08:39:37 [error] 1962#0: *39882 upstream timed out (110: Connection timed out) while reading upstream, client: 192.168.1.1 server: example.com, request: "GET /wp-admin/ms-upgrade-network.php?action=upgrade HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "example.com", referrer: "http://example.com/wp-admin/ms-upgrade-network.php"
解决方法包括两方面. 首先增加php脚本的时间限制, 相关参数主要有: max_execution_time, max_input_time. 默认是30还是60秒, 对于Update Network来说可能不够, 所以要修改php-fpm的配置(/etc/php5/fpm/php.ini):
max_execution_time = 300 max_input_time = 600
还有就是增加nginx等待的超时限制, 参见Nginx的文档, 主要有fastcgi_read_timeout, fastcgi_send_timeout, 可能和上面的php参数是对应的(read对应execution, send对应input):
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; ... fastcgi_read_timeout 300; fastcgi_send_timeout 600; }
修改完成之后重启nginx和php5-fpm服务器, Update Network可以正常结束.
Recent Comments