我有一个使用nginx / 1.2.6(Ubuntu 13.04 VirtualBox)运行的Symfony2.2.1项目.
硬链接可以使资产呈现正常.
使用symlink,它仅在第一次初始化时有效.
当我更新符号链接源时,浏览器渲染使用 字符转换我的修改.浏览器没有错误,没有修改的部分不会受到影响.
修改后我的CSS文件结尾的示例:
[...]
div.form-actions {
text-align: center;
}
目前,我使用硬链接.我在Apache2上没有这个问题…:/
你有个主意吗?
谢谢
Nginx站点配置:
server {
listen 80;
root /media/sf_NetBeansProjects/XXXX/web;
index app.php;
server_name XXXX.lo;
location / {
# try to serve file directly,fallback to rewrite
try_files $uri @rewriteapp;
}
location @rewriteapp {
# rewrite all to app.php
rewrite ^(.*)$/app.php/$1 last;
}
location ~ ^/(app|app_dev)\.php(/|$) {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
error_log /media/sf_NetBeansProjects/XXXX/app/logs/nginx_errors.log;
access_log /media/sf_NetBeansProjects/XXXX/app/logs/nginx_access.log;
}
细微之处在于media / sf_NetBeansProjects是Windows8的VirtualBox共享文件夹,但是正如我之前所说,apache2总是可以的.
最佳答案
本文帮助:
https://coderwall.com/p/ztskha
“简单地说,sendfile()使用内核调用将文件直接从磁盘复制到tcp.如果使用的是远程文件系统(例如nfs或VirtualBox Guest Additions东西),则此方法不可靠.”
本质上,如果要在主机上存在的来宾VM上提供文件,请关闭NGINX的sendfile.
“要在Apache中关闭sendfile(),可以使用EnableSendfile off指令,对于nginx,请使用sendfile off.”