本来一路顺风,环境搭建有点轻车熟路的感觉,中途还优化了一些配置文件结构(nginx+spawn-fcgi),没想到测试的时候,发现插件更新失败,提示:
Could not create directory. /www/blog/wp-content/upgrade/akismet.tmp
同时上传图片也失败,提示:
The uploaded file could not be moved to /www/blog/wp-content/uploads/2011/01/
个杯具的,经排查:
第一个是ftp没有打开写入权限···,配置文件里忘了去掉注释导致;
第二个倒腾了更久,新装了一个wordpress 3.0.4也一样。
查了一堆帖子,基本都是说目录权限问题,但是我改了777都是没有用的,奇怪的是新装的dicuz论坛是可以传图的···
接着手动设置php.ini里面的
upload_tmp_dir = /tmp
重启nginx,这时候新装的wp可以传图了,进一步查看新装wp里的uploads目录属性,才发现是属于www-data用户(汗,因为spawn-fcgi和nginx都是由这个系统用户在执行);
于是修改原wp的upload目录及下属文件归属
sudo chown -R www-data ./wp-content/uploads/
一切问题解决······
后记:
权限问题有点讨厌,为了避免混乱,我现在用chown取得所有文件权限,然后用chgrp设置所有文件组到www-data,然后wp-content目录权限设置为775,逻辑清晰,省事,关键是ftp可以正常操作!
你好,我想问下你的服务器是放在自己家的还是托管在电信的?如果是自己家的带宽是多少?
国外VPS Linode