Nginx在已启用网站的

时间:2016-01-29 20:55:20

标签: nginx configuration

我在sites-enabled nginx有两个网站:

1)project - 这实际上是顶级域名 - mysite.com

server {
    listen 80;
    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    location /static {
        alias  /home/www/flask-deploy/project/static/;
    }
}

2)blog - 这是一个博客,可以通过以下方式访问:mysite.com:8080

server {
    listen 8080;

    location blog/ {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    location /static {
        alias  /home/www/flask-deploy/blog/static/;
    }
}

Nginx接受了这两种配置,但是当我访问1时,我得到了所有文本,但没有css或图像。

如果我访问2我会让一切正常。

我做错了什么?

谢谢

1 个答案:

答案 0 :(得分:0)

要使alias指令正常工作,location中的URI和alias指令中的URI都应该以{{1​​}}结尾,或者两者都不以{{}结尾1}}。该算法似乎用一个字符串代替另一个字符串。

所以你应该写一下:

/

但是,当别名的最后一个元素与该位置匹配时,首选/指令(请参阅this):

location /static {
    alias  /home/www/flask-deploy/project/static;
}

您的root看起来不正确,前缀位置应始终以location /static { root /home/www/flask-deploy/project; } 开头。