django:uwsgi没有和主管一起跑

时间:2018-04-13 07:26:47

标签: django uwsgi supervisord

这是我的uwsgi ini文件,

[uwsgi]
chdir=/root/projects/cbapis/cbapis
module=cbAPIs.wsgi:application
env = DJANGO_SETTINGS_MODULE=cbAPIs.settings.production
http=0.0.0.0:8002
workers=1
home=/root/projects/cbapis/cbapis/env

这是django wsgi文件,

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cbAPIs.settings.production")

application = get_wsgi_application()

当我使用uwsgi运行服务器时,运行正常,

uwsgi --ini cbapi_uwsgi_config.ini

以下是该项目的主管人员,

[program:djangocbapis]
command=uwsgi --ini /root/cbapi_uwsgi_config.ini
environment =
        DJ_DEV_SERVER_DB_NAME="****",
        DJ_DEV_SERVER_DB_USER="****",
        DJ_DEV_SERVER_DB_HOST="*****",
        DJ_DEV_SERVER_DB_PASSWORD="*****",
autostart=true
autorestart=true
user=root
priority=400
stderr_logfile=/var/app/cbapis/log/cbapis.log

当我通过主管运行这个uwsgi服务器时,它不会运行。我在日志文件中收到以下错误,

--- no python application found, check your startup logs for errors ---

我在同一台服务器上的其他django项目有类似的supervisor和uwsgi配置,这些项目与supervisor和uwsgi运行良好。

但我无法弄清楚为何在与主管一起运行时找不到python应用程序。

所以,请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

尝试提供uwsgi/usr/bin/uwsgi /usr/local/bin/uwsgi的完整路径。如果您使用的是ubuntu / linux,请键入命令which uwsgi以获取完整路径。它会起作用。

[program:djangocbapis]
command=/usr/bin/uwsgi --ini /root/cbapi_uwsgi_config.ini
autostart=true
autorestart=true
user=root
priority=400
stderr_logfile=/var/app/cbapis/log/cbapis.log

在uwsgi .ini文件中设置环境变量。

env = DJ_DEV_SERVER_DB_NAME="****",
env = DJ_DEV_SERVER_DB_USER="****",
env = DJ_DEV_SERVER_DB_HOST="*****",
env = DJ_DEV_SERVER_DB_PASSWORD="*****",