nginx下wordpress “無法將上傳的檔案移動至” 錯誤

來源:互聯網
上載者:User

之前使用盛大雲端服務器,用的是ubuntu裝的apache伺服器, 但網站總是莫名其妙的失去響應,需要重啟apache才可以正常服務,看日誌也沒什麼 異常,也就懶得研究,直接換成nginx。 把wordpress從apache挪到nginx比較容易,源檔案拷到nginx根目錄下,不需要修改代碼,修改下wordpress在nginx下的重寫規則就可以了。 但當我寫文章發圖片時,卻提示我"無法將上傳的檔案移動至" 上傳目錄的錯誤。   今天(2012.12.4增加)又發現這個錯誤也可以用同樣方式解決,nginx上傳圖片出現http error 錯誤  [crit] 22919#0: *600783 open() "/usr/local/nginx/client_body_temp/0000000017" failed (13: Permission denied)     根據自己經驗和網上的資料,總結了如下幾種排錯方式:  1.中文檔案名稱 網上很多網站說是修改上傳檔案名稱為全英文就可以,試了下沒成功。 因為我使用的是最新版中文wordpress,而且我之前使用apache時曾經上傳過中文名的附件。 所以認定此方法行不通,如果你是新版wordpress此方法可以不用理會了。   2.檔案夾許可權 如果對檔案夾沒有可寫入權限是不能上傳的,你可以簡單的設成777許可權,讓所有人都可以寫。 但是為了安全,只要保證檔案夾屬主是可寫的就可以也就是755. ls -l  查看上傳目錄發現屬主已經可寫是755許可權,繼續排查別的。   3.php進程和nginx進程運行使用者不同 因為我的nginx使用quancha這個使用者啟動並執行,也就是nginx.conf 裡user指定的參數。 但是php-fpm的進程用的是www-data使用者啟動並執行。具體看。 ps -ef |grep quancha    ps -ef|grep php-fpm 
 上傳功能使用php程式完成,也就是php-fpm進程的使用者去寫wordpress的上傳目錄。 但是上傳目錄位於nginx的html目錄下且屬主是nginx的運行使用者。   也就是說用www-data去寫quancha使用者的檔案夾,當然寫不了。   解決方案: 1.修改nginx.conf中的user指令為www-data使用者。   2.重啟nginx  kill -QUIT `cat /usr/local/nginx/nging.pid`; sudo  /usr/local/nginx/nginx   3.修改檔案夾目錄屬性 chown -R www-data:www-data /usr/local/nginx
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.