【发布时间】:2017-04-12 20:34:59
【问题描述】:
以下设置只让我看到默认的 Nginx html 页面。我怎样才能到达 Django?
我一直在关注 Linode 关于如何设置的文档(以及许多其他教程),但他们不使用 systemd,所以情况有些不同。
我将 Linode 与 Fedora24 一起使用。我已经安装了我的virutalenv /home/ofey/djangoenv 并激活它, Django 是使用 pip 安装的 /home/ofey/qqiProject 进入我已经安装了 uwsgi 的 virtualenv。 第一, /etc/systemd/system/uwsgi.service
[Unit]
Description=uWSGI Emperor service
After=syslog.target
[Service]
ExecStart=/home/ofey/djangoenv/bin/uwsgi --emperor /etc/uwsgi/sites
Restart=always
KillSignal=SIGQUIT
Type=notify
StandardError=syslog
NotifyAccess=all
[Install]
WantedBy=multi-user.target
这会执行,
/etc/uwsgi/sites/qqiProject.ini
[uwsgi]
project = qqiProject
base = /home/ofey
chdir = %(base)/%(project)
home = %(base)/djangoenv
module = %(project).wsgi:application
master = true
processes = 2
socket = %(base)/%(project)/%(project).sock
chmod-socket = 664
vacuum = true
还有,
/etc/nginx/sites-available/qqiProject
server {
listen 80;
server_name qqiresources.com www.qqiresources.com;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/django/qqiProject;
}
location / {
include uwsgi_params;
uwsgi_pass unix:/home/django/qqiProject/qqiProject.sock;
}
}
/etc/nginx/nginx.conf 文件没有改变。
用户是ofey,我用过,
$ sudo systemctl daemon-reload
$ sudo systemctl restart nginx
$ sudo systemctl start uwsgi.service
用 Django 开始,
$ python manage.py runserver
在 Django 的 settings.py 中我关闭了调试并添加了一个主机
DEBUG = False
ALLOWED_HOSTS = ['qqiresources.com']
我还创建了一个符号链接,
sudo ln -s /etc/nginx/sites-available/qqiProject /etc/nginx/sites-enabled
任何帮助将不胜感激,
谢谢
【问题讨论】:
-
在 qqiProject.ini 你有 '/home/ofey',但在 /etc/nginx/sites-available/qqiProject 它是 'home/django/'。也许这是你的错?
-
感谢您发现该错误。我更正了,但不幸的是仍然没有运气。
-
更改配置后是否重新启动所有内容?
-
我通过首先获得一个基本的 hello world python 脚本与 uwsgi 一起工作来简化问题。然后我成功添加了 Django,一旦我弄清楚如何在 Django 中服务器静态文件和 CDN,我将添加 nginx。所以不幸的是,我还没有为这一切做好准备。但我会在我到达那里时发布。谢谢stackoverflow.com/questions/40063646/…