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-09-22 22:33:14 +08:00
建议 1. 你检查下 supervisor 启动的时候,[program:django_cms] 有加载吗?
建议 2. gunicorn 可以试试直接放在系统启动加载 |
2
guoweikuang OP @rogwan supervisor 已经有加载配置了,都正常运行,gunicorn 放在系统启动加载???这个步骤不了解
|
3
lxy 2017-09-22 22:45:32 +08:00
既然是 500,开 Debug 不就知道了吗
|
4
Victor215 2017-09-22 22:46:33 +08:00 via Android
settings 把 debug 打开看看呗
|
5
rogwan 2017-09-22 22:47:05 +08:00
@guoweikuang 直接写个启动文件,比如 gunicorn.conf 放在 /etc/init/ 目录下就可以随系统启动了。
|
6
neoblackcap 2017-09-22 22:48:08 +08:00
数据库设置正确了吗?
|
7
guoweikuang OP @Victor215 这个我居然忘了
|
8
guoweikuang OP 问题通过 DEBUG 找到了,是数据库权限问题,我运行下面语句时是在 root 权限下运行
```python gunicorn django_cms.wsgi:application -b 127.0.0.1:8003 ``` 所以那时候都是可以访问了, |
9
julyclyde 2017-09-23 22:38:41 +08:00
如果是数据库权限的问题,按说你用各种运行方式应该得到相同的错误才对啊
|
10
guoweikuang OP @julyclyde 因为使用的是 sqlite 数据库,数据库也就是一个磁盘文件,但是它的权限是 root 才能打开的。我之前直接在命令行下操作都是 root 权限运行的,所以没有报错,放在 supervisor 里面已经配置用户是 www-data 了,所以报错
|
11
julyclyde 2017-09-26 08:07:00 +08:00
@guoweikuang 不错不错,能分析出原因分享给大家
|