运行 Gunicorn 作为服务时出现内部服务器错误

运行 Gunicorn 作为服务时出现内部服务器错误

我第一次尝试在 Digital Ocean VPS 上部署我的 Django 应用程序。我使用了他们的 Django droplet,它设置这样的事情除了我没有使用虚拟环境。

添加我的代码并更改一些内容后,如果我直接从命令行运行 gunicorn,则站点就会加载。

但是,如果我将 gunicorn 作为服务运行sudo service gunicorn start,则只会收到 500“内部服务错误”。 nginx 日志文件中没有错误。 gunicorn 日志文件不存在。

这是我运行的有效命令(从 /home/django 目录运行):

gunicorn --pythonpath=myproject --bind=0.0.0.0:9000 --config /etc/gunicorn.d/gunicorn.py myproject.wsgi:application

这是 /etc/init/gunicorn.conf 文件:

description "Gunicorn daemon for Django project"

start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]

# If the process quits unexpectedly trigger a respawn
respawn

setuid django
setgid django
chdir /home/django

exec gunicorn \
    --name=myproject \
    --pythonpath=myproject \
    --bind=0.0.0.0:9000 \
    --config /etc/gunicorn.d/gunicorn.py \
    myproject.wsgi:application

我对 gunicorn 和 nginx 还不熟悉,所以这真的让我很困惑。

答案1

内部服务器错误(HTTP 500)通常表示您的代码有问题,而不是 Web 服务器应用程序有问题。

您设置了日志记录吗?
您应该将所有 500 个错误记录到 Django 项目中的文件中,这样您就可以了解错误发生的原因。

您还可以尝试打开调试模式,它会告诉您应用程序失败的原因。

相关内容