django on nginx + uwsgi / static files不显示

时间:2017-09-04 14:35:08

标签: django nginx uwsgi

所以我想用uwsgi在nginx上运行django。我安装了所有内容,更改了settings.py中的ALLOWED_HOSTS和STATIC_ROOT并运行了“collectstatic”。通过终端,我可以看到admin-static-files正好放在我希望它们放置的位置。但是当我去domainxy.de/admin时,我没有看到静态文件。安装完成后我做了这个:

sudo mkdir -p /etc/uwsgi/sites
sudo nano /etc/uwsgi/sites/mysite.ini

####mysite.ini####
[uwsgi]
project = mysite
uid = root
base = /%(uid)
chdir = %(base)/%(project)
module = %(project).wsgi:application
master = true
processes = 5
socket = /run/uwsgi/%(project).sock
chown-socket = %(uid):www-data
chmod-socket = 660
vacuum = true

sudo nano /etc/systemd/system/uwsgi.service

###uwsgi.service####
[Unit]
Description=uWSGI Emperor service

[Service]
ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown root:www-data /run/uwsgi'
ExecStart=/usr/local/bin/uwsgi --emperor /etc/uwsgi/sites
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all

[Install]
WantedBy=multi-user.target

sudo nano /etc/nginx/sites-available/mysite.conf

####mysite.conf####
server {
    listen 80;
    server_name domainxy.de www.domainxy.de xx.xxx.xxx.xxx;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static {
        root /root/mysite/;
    }

    location / {
        include         uwsgi_params;
        uwsgi_pass      unix:/run/uwsgi/mysite.sock;
    }
}

sudo ln -s /etc/nginx/sites-available/mysite.conf /etc/nginx/sites-enabled
sudo systemctl restart nginx
sudo systemctl start uwsgi
sudo ufw allow 'Nginx Full'

我在哪里弄错了?我确实多次更改了“mysite.conf”中的文件夹,但到目前为止没有任何帮助。谢谢你的帮助。不要认为我是新手,也不是我使用root用户来简化这里。

编辑:我的django项目在/ root / mysite /中,settings.py是

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static/")

0 个答案:

没有答案