symfony-使用Nginx无效更新symlink静态文件

前端之家收集整理的这篇文章主要介绍了symfony-使用Nginx无效更新symlink静态文件 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个使用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.”

猜你在找的Nginx相关文章