
DEBUG = False ALLOWED_HOSTS = ['101.236.6.252', '127.0.0.1', '.guoweikuang.com'] [program:django_cms] directory = /home/guoweikuang/projects/django_cms command = /home/guoweikuang/projects/django_cms/venv/bin/gunicorn django_cms.wsgi:application -b 127.0.0.1:8003 user=www-database_pool startsecs = 5 startretries = 3 stopsignal = KILL stopasgroup = True stdout_logfile = /var/log/supervisor/django_cms.log stderr_logfile = /var/log/supervisor/django_cms.error.log 配置好重新载入配置并启动,都没有出现问题 然后我打开首页,也没有问题 然后我试着点进去一个详情页,what the fuck, 直接Server Error (500)
GET /article/3 HTTP/1.0" 500 27 然后去看了 nginx 的日志,也只有
GET /article/3 HTTP/1.1" 500 38 "http://101.236.6.252/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36" 这个错误信息。 然后我直接在项目路径下执行
gunicorn django_cms.wsgi:application -b 127.0.0.1:8003 再访问一次发现是可以的,我分析是我 supervisor 的配置错了,但改了几次都不行,
1 rogwan 2017 年 9 月 22 日 建议 1. 你检查下 supervisor 启动的时候,[program:django_cms] 有加载吗? 建议 2. gunicorn 可以试试直接放在系统启动加载 |
2 guoweikuang OP @rogwan supervisor 已经有加载配置了,都正常运行,gunicorn 放在系统启动加载???这个步骤不了解 |
3 lxy 2017 年 9 月 22 日 既然是 500,开 Debug 不就知道了吗 |
4 Victor215 2017 年 9 月 22 日 via Android settings 把 debug 打开看看呗 |
5 rogwan 2017 年 9 月 22 日 @guoweikuang 直接写个启动文件,比如 gunicorn.conf 放在 /etc/init/ 目录下就可以随系统启动了。 |
6 neoblackcap 2017 年 9 月 22 日 数据库设置正确了吗? |
7 guoweikuang OP @Victor215 这个我居然忘了 |
8 guoweikuang OP 问题通过 DEBUG 找到了,是数据库权限问题,我运行下面语句时是在 root 权限下运行 ```python gunicorn django_cms.wsgi:application -b 127.0.0.1:8003 ``` 所以那时候都是可以访问了, |
9 julyclyde 2017 年 9 月 23 日 如果是数据库权限的问题,按说你用各种运行方式应该得到相同的错误才对啊 |
10 guoweikuang OP @julyclyde 因为使用的是 sqlite 数据库,数据库也就是一个磁盘文件,但是它的权限是 root 才能打开的。我之前直接在命令行下操作都是 root 权限运行的,所以没有报错,放在 supervisor 里面已经配置用户是 www-data 了,所以报错 |
11 julyclyde 2017 年 9 月 26 日 @guoweikuang 不错不错,能分析出原因分享给大家 |