環境:CentOS6.5 Gunicorn+Django+nginxlinux
配置完成後,運行項目,部分時候會報 [Errno 5] Input/output error,一開始是print會報這個錯,刪除以後,其餘地方也會報一樣的錯誤。
個人解決過程和嘗試以下:nginx
我看到有篇文章提到這點,不過他用的uwsgi部署的,文章的思路是懷疑日誌文件沒地方去,致使了IO錯誤,解決方案就是增長日誌配置。
地址http://shenwang.blog.ustc.edu.cn/freeshell%E4%B8%8A34218%E8%8A%82%E7%82%B9%E5%87%BA%E7%8E%B0django-errno-5-inputoutput-error/web
根據此原理,我在nginx的conf配置文件的server節點下,增長日誌路徑配置:shell
access_log /home/webroot/www/public/XianyuApi/nginx.access.log; error_log /home/webroot/www/public/XianyuApi/nginx.error.log;
可是這一步設置後,重啓了nginx和gunicorn發現仍是老樣子。因而就想到會不會權限的問題。
2. 源代碼目錄的訪問權限設置爲777
確認源代碼文件夾的訪問權限,把全部文件的權限遞歸設置爲777。nginx運行的時候,是在nginx.conf中配置的用戶來運行的,不是你當前登陸的用戶,權限也會致使比較詭異的問題。這一步必定要最後確認,可能一開始你已經設置了777,可是中間你可能往目錄中增長了一些配置文件,因此最後要檢查下。
3.重啓大法
不過這點設置了後,然並卵。查了好多材料,最後絕望中,我重啓了linux服務器。而後就行了....
大家也能夠嘗試下重啓大法。
至於上面哪一步是致使問題發生的,不清楚,反正我都作了,若大家遇到了一樣的問題,能夠逐步嘗試下。django