Django + uwsgi + nginx重定向到默认页面“欢迎来到NGINX”

时间:2012-08-04 15:27:29

标签: django nginx uwsgi

我是python和django的初学者。但是,我正在尝试创建一个服务器来部署我的应用程序。但是当我想访问我的应用程序时,我总是得到默认的nginx页面“欢迎使用nginx”。

此服务器在Ubuntu 12.04上(精确) 我用apt安装了nginx,python,django和uwsgi包。 接下来我创建了一个django项目到/ var / www / djangoApps和一个django应用程序到/ var / www / djangoApps / testApp

这是我的/ etc / nginx / sites-available / djangoApps:

server {
    listen 80
    server_name django.pommesky.com;
    rewrite ^(.*) http://www.django.pommesky.com/$1 permanent;
}

server {
    listen 80;
    server_name www.django.pommesky.com;
    access_log /var/log/nginx/djangoApps_access.log;
    error_log /var/log/nginx/djangoApps_error.log;

    location /media {
        alias /var/www/djangoApps/media/;
    }

    location /static {
        alias /var/www/djangoApps/static/;
    }

    location / {
        uwsgi_pass unix:///run/uwsgi/app/djangoApps/socket;
        include uwsgi_params;
    }
}

这是我的/etc/uwsgi/apps-available/djangoApps.ini:

env = DJANGO_SETTINGS_MODULE=djangoApps.settings
module = django.core.handlers.wsgi:WSGIHandler()
chdir = /var/www/djangoApps
socket = /run/uwsgi/djangoApps/socket
logto = /var/log/uwsgi/djangoApps.log

uwsgi日志没有显示任何内容,一切似乎运行良好,它由产生的uWSGI工作者完成... 但是/var/log/nginx/djangoApps_access.log;和/var/log/nginx/djangoApps_error.log;不存在,这很奇怪。 我无法弄清楚我的配置有什么问题。 请帮帮我......

1 个答案:

答案 0 :(得分:8)

django.pommesky.com看起来并不活跃,因此Nginx可能会在HTTP request header.(第14.23节)中收到错误Host:字段的请求。所以Nginx服务于default全能页面。

您可以通过删除default链接,然后重新启动守护程序来禁用/etc/nginx/sites-enabled/default Nginx网站。

sudo rm -v /etc/nginx/sites-enabled/default
sudo service nginx restart

您可以通过重新创建链接来重新启用:

sudo ln -sf /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
sudo service nginx restart

您可以尝试的另一件事是设置Bind或其他DNS守护程序,以便为您所需的所有子域提供虚假 pommesky.com区域,并在开发您的DNS时使用该DNS现场。

当然,您也可以向托管服务提供商注册该域名,然后使用其控制面板中的DNS区域编辑器设置子域名以及您想要的所有PTRs所需的公共IP地址。 / p>