8

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

该服务器位于 Ubuntu 12.04(精确)上,我已经安装了 nginx、python、django 和 uwsgi 软件包和 apt。接下来我创建了一个 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;不存在,这很奇怪。我无法弄清楚我的配置有什么问题。请帮我 ...

4

1 回答 1

11

该域django.pommesky.com看起来并不活跃,因此 Nginx 可能正在接收HTTP 请求标头Host:中包含错误字段的请求。(第 14.23 节)所以 Nginx 提供了一个包罗万象的页面。default

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

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 区域编辑器将您的子域和所有PTR设置为您需要的任何公共 IP 地址。

于 2012-08-04T15:58:54.833 回答