环境: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