我是python和django的初学者.但是,我正在尝试创建一个服务器来部署我的应用程序.但是当我想访问我的应用程序时,我总是得到默认的Nginx页面“欢迎来到Nginx”.
这个服务器在Ubuntu 12.04上(精确)
我用apt安装了Nginx,python,django和uwsgi包.
接下来我为/ var / www / djangoApps创建了一个django项目,并为/ var / www / djangoApps / testApp创建了一个django应用程序
这是我的/ 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;不存在,这很奇怪.
我无法弄清楚我的配置有什么问题.
请帮我 …
最佳答案
域django.pommesky.com看起来不像它还活着,所以Nginx可能在HTTP request header.(第14.23节)中接收到错误的Host:字段的请求.因此Nginx提供默认的catch-all页面.
您可以通过删除/ 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区域编辑器设置您所需的所有公共IP地址以及您想要的所有PTRs子域名.