您的位置:首页 > 运维架构 > Nginx

django在nginx上部署后出现 [Errno 5] Input/output error错误的解决

2017-10-13 00:00 2206 查看
环境:CentOS6.5 Gunicorn+Django+nginx

配置完成后,运行项目,部分时候会报 [Errno 5] Input/output error,一开始是print会报这个错,删除之后,其他地方也会报同样的错误。

我的解决过程和尝试如下:


1.nginx的conf配置文件,配置日志的路径。

我看到有篇文章提到这点,不过他用的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/

根据此原理,我在nginx的conf配置文件的server节点下,增加日志路径配置:

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 Python
相关文章推荐