【发布时间】:2013-06-23 09:59:22
【问题描述】:
我目前正在使用 Nginx 和 Apache,成功地提供了以下静态文件。
摘自我的/sites-enabled/default:
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|txt|xml)$ {
root /home/website/public_html/app/public;
}
但我也有一些缓存文件位于此处:
/home/website/public_html/app/storage/cache
/home/website/public_html/app/storage/views
/home/website/public_html/app/storage/sessions
/cache 和 /sessions 也有子目录。所有子目录和文件的文件名都是随机的,没有扩展名。
我希望 Nginx 也提供这些文件。
我试过这个(/views 文件夹的例子),但没有成功。我什至没有任何日志,但 Nginx 正确重启,网站加载没有错误。
location /views {
alias /home/website/public/app/app/storage/views;
access_log /var/log/nginx/web.views.access.log;
error_log /var/log/nginx/web.views.error.log;
}
也试过了,效果和上面一样:
location ~* ^.$ {
root /home/website/public/app/app/storage/views;
access_log /var/log/nginx/web.views.access.log;
error_log /var/log/nginx/web.views.error.log;
}
还尝试在这 2 次尝试中添加 add_header Content-Type application/octet-stream;,但没有任何变化。
最后,这是我nginx.conf的http部分
http {
include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
(/var/log/nginx/access.log 和 /var/log/nginx/error.log 也没有显示与我的问题相关的任何内容)。
感谢任何线索和帮助!
编辑
完成当前/sites-enabled/default文件(是的,有一个双/app/,这很正常;))
# You may add here your
# server {
# ...
# }
# statements for each of your virtual hosts
server {
listen 80; ## listen for ipv4
listen [::]:80 default ipv6only=on; ## listen for ipv6
server_name www.website.com website.com;
#access_log /var/log/nginx/localhost.access.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080/;
access_log off;
#root /var/www;
#index index.html index.htm;
}
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|txt|xml)$ {
root /home/website/public_html/app/public;
expires 30d;
}
location ~* ^.$ {
add_header Content-Type application/octet-stream;
root /home/website/public/app/app/storage/views;
access_log /var/log/nginx/bt.views.access.log;
error_log /var/log/nginx/bt.views.error.log;
}
}
【问题讨论】:
-
请贴出你完整的
sites-available/default配置文件,我可以帮你比完整的配置和答案。 -
当然,我刚刚用它更新了我的帖子。谢谢!
标签: nginx reverse-proxy static-files