nginx 不提供静态文件服务

nginx 不提供静态文件服务

大胆的解决方案。

解决方案:将此 nginx 行更改为:

        location /cm/static {
                alias /var/www/KRAKEN/public/cm/static;
        }

我希望这是个速成课程。这是我的应用程序结构:

/var/www/KRAKEN/public/cm/
.
|-- __init__.py
|-- __pycache__
|-- bin
|-- include
|-- lib
|-- mod_db
|-- mod_form
|-- requirements.txt
|-- static
|-- templates
|-- uwsgi.ini
|-- uwsgi.log
|-- views.py

由于某种原因,NGINX 在访问静态文件时会抛出 404(在我的 Flask 应用程序中,即使路径正确,它们也不会被使用)。以下是 nginx 配置:

server {
        listen 80;
        server_name server.me www.server.me;
        root /var/www/KRAKEN/public/;
        error_log /var/www/KRAKEN/public/nginx.error.log;
        location / {
           index index.php index.html index.htm;
        }

        location /cm {
                include uwsgi_params;
                uwsgi_param SCRIPT_NAME /cm;
                uwsgi_pass unix:///var/www/KRAKEN/public/cm/socket.sock;
        }

        location /static {
                alias /var/www/KRAKEN/public/cm/static;
        }
}

某个404文件的请求头示例:

GET /cm/static/style.css HTTP/1.1
Host: www.server.me
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/css,*/*;q=0.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36
Referer: http://www.server.me/cm/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,es-419;q=0.6,es;q=0.4

响应示例:

HTTP/1.1 404 NOT FOUND
Server: nginx/1.8.1
Date: Tue, 15 Mar 2016 18:20:35 GMT
Content-Type: text/html
Content-Length: 233
Connection: keep-alive

错误日志没有显示任何内容。

我错过了什么?

谢谢!

答案1

/var/www/KRAKEN/public/cm/ 中没有 style.css,因此出现 404。

我错过了什么?

您在 cm 文件夹中缺少 style.css。

重新考虑静态位置的别名,因为这似乎让您感到困惑。

相关内容