Django Wagtail返回HTTP 500内部服务器错误

时间:2019-04-03 05:42:47

标签: django nginx gunicorn production

我正在将Wagtail应用程序部署到生产中,但无法使其正常工作。我正在关注本教程https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-18-04

使用开发设置时,该网站可以在我的服务器上正常工作,一旦更改为正式版本,该网站将无法正常工作。

在生产中,我只能访问管理员和站点地图URL。

production.py


from .base import *


with open('/etc/secret_key.txt') as f:
    SECRET_KEY = f.read().strip()

DEBUG = False

try:
    from .local import *
except ImportError:
    pass


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'name',
        'USER': 'user',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': '',
    }
}
# SECURITY WARNING: define the correct hosts in production!

INTERNAL_IPS = ("127.0.0.1")
ALLOWED_HOSTS = ['*'] 

nginx

# Redirect unencrypted traffic to the encrypted site
server {
    listen       80;
    server_name  domain www.domain IP;
    return       301 https://domain$request_uri;
}

server {
    client_max_body_size 20M;
    listen 443 default ssl;
    server_name domain.com IP;
    keepalive_timeout   70;

    ssl on;

    ssl_certificate /etc/nginx/certs.pem;
    ssl_certificate_key /etc/nginx/privkey.pem;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/user/projectdir;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}

Gunicorn.service

[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target

[Service]
User=sherpa
Group=www-data
WorkingDirectory=/home/user/projectdir
ExecStart=/home/user/projectenv/bin/gunicorn \
          --access-logfile - \
          --workers 3 \
          --bind unix:/run/gunicorn.sock \
          project.wsgi_production:application

[Install]
WantedBy=multi-user.target

urls.py

urlpatterns = [
    url(r'^django-admin/', admin.site.urls),

    url(r'^admin/', include(wagtailadmin_urls)),
    url(r'^documents/', include(wagtaildocs_urls)),

    url(r'^search/$', search_views.search, name='search'),


    url(r'^sitemap.xml', sitemap),
    # For anything not caught by a more specific rule above, hand over to
    # Wagtail's page serving mechanism. This should be the last pattern in
    # the list:
    url(r'', include(wagtail_urls)),


    # Alternatively, if you want Wagtail pages to be served from a subpath
    # of your site, rather than the site root:
    #    url(r'^pages/', include(wagtail_urls)),


]

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。如果我将Debug设置为True,则一切正常。如果我设置Debug = False,则会显示500错误页面,但是日志中没有任何内容可以告诉我错误已被触发。我使用的是Apache,而不是nginx。