首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx、uwsgi、django、ubuntu 16问题和静态文件

问Nginx、uwsgi、django、ubuntu 16问题和静态文件
EN

Stack Overflow用户
提问于 2016-07-21 09:00:09
回答 1查看 402关注 0票数 0

我正在使用Nginx,uwsgi,django和Ubuntu 16.04,在我所有的静态文件上都得到了404。当我查看nginx的error.log时,它在实际文件位置前面添加了一个额外的/static:

未找到404 : /home/jsmith/firstproj/static_cdn/static/css/bootstrap.css

实际位置: /home/jsmith/firstproj/static_cdn/css/bootstrap.css

我不知道为什么它要在/css/bootstrap.css前面添加/static。以下是我的配置文件:

/var/log/nginx/error.log

代码语言:javascript
复制
2016/07/20 17:34:25 [error] 4424#4424: *22 open() "/home/jsmith/firstproj/static_cdn/static/css/bootstrap.css" failed (2: No such file or directory), client: , server: , request: "GET /static/css/bootstrap.css HTTP/1.1", host: 

/home/jsmith/firstproj/src/blogs/settings.py

代码语言:javascript
复制
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn")

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
    ]

/etc/nginx/sites-available/firstproj

代码语言:javascript
复制
server {
    listen 80;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static {
        root /home/jsmith/firstproj/static_cdn;
    }

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

/etc/systemd/system/uwsgi.service

代码语言:javascript
复制
[Unit]
Description=uWSGI Emperor service
After=syslog.target

[Service]
ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown jsmith: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

/etc/uwsgi/sites/firstproj.ini

代码语言:javascript
复制
[uwsgi]
project = firstproj
base = /home/jsmith

chdir = %(base)/%(project)/src
home = %(base)/.virtualenvs/%(project)
module = %(project).wsgi:application

master = true
processes = 5

socket = /run/uwsgi/%(project).sock
chmod-socket = 666
vacuum = true
logto = /var/log/uwsgi/%n.log
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-21 09:39:50

问题出在nginx的“静态”配置中。这段代码修复了这个问题

代码语言:javascript
复制
location /static {
    alias /home/jsmith/firstproj/static_cdn;
}

查看此帖子Nginx -- static file serving confusion with root & alias

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38493205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档