我在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
我会让一切正常。
我做错了什么?
谢谢
答案 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;
}
开头。