Нужно сначала влить файл под другим именем, а потом переименовать в нужное.<div>Т.н. атомарное обновление.<br><br><div class="gmail_quote">2011/9/13 locojohn <span dir="ltr"><<a href="mailto:nginx-forum@nginx.us">nginx-forum@nginx.us</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Привет!<br>
<br>
Проблема следующая, которая возникает<br>
периодически, без очевидной связи. Я<br>
обновляю статический CSS или JS файл по FTP.<br>
Делаю рефреш в браузере. Браузер "не<br>
видит" обновления, потому что сервер<br>
возвращает 304 Not Modified. Через некоторое<br>
время (от секунды до минуты и даже<br>
больше), после нескольких рефрешев,<br>
наконец возвращается 200 OK и код<br>
обновляется.  Использовались браузеры:<br>
Safari 5.1 (Mac OS X), Firefox 6.0.2 (Win 7), Chrome 13.0.782.220 m (Win<br>
7)<br>
<br>
Пробовал выносить css/javascript из gzip_types, но<br>
это не изменило ситуации.  Откатывался<br>
на nginx/1.0.5, но это не помогло.  В общем,<br>
обновления видятся через какое-то<br>
неопределённое время, но не сразу.<br>
<br>
Дорогие коллеги, с чем это может быть<br>
связано и как решить данную проблему?<br>
<br>
nginx -V :<br>
<br>
nginx: nginx version: nginx/1.1.2<br>
nginx: TLS SNI support enabled<br>
nginx: configure arguments: --prefix=/usr --sbin-path=/usr/sbin/nginx<br>
--conf-path=/etc/nginx/nginx.conf<br>
--error-log-path=/var/log/nginx/error_log --pid-path=/var/run/nginx.pid<br>
--lock-path=/var/lock/nginx.lock --user=nginx --group=nginx<br>
--with-cc-opt=-I/usr/include --with-ld-opt=-L/usr/lib<br>
--http-log-path=/var/log/nginx/access_log<br>
--http-client-body-temp-path=/var/tmp/nginx/client<br>
--http-proxy-temp-path=/var/tmp/nginx/proxy<br>
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi<br>
--http-scgi-temp-path=/var/tmp/nginx/scgi<br>
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --with-file-aio<br>
--with-aio_module --with-pcre --without-http_auth_basic_module<br>
--without-http_geo_module --without-http_limit_req_module<br>
--without-http_limit_zone_module --without-http_memcached_module<br>
--without-http_referer_module --without-http_scgi_module<br>
--without-http_ssi_module --without-http_split_clients_module<br>
--without-http_userid_module --without-http_uwsgi_module<br>
--with-http_flv_module --with-http_geoip_module<br>
--with-http_stub_status_module --with-http_realip_module<br>
--add-module=/var/tmp/portage/www-servers/nginx-1.1.2/work/masterzen-nginx-upload-progress-module-8b55a34<br>
--with-http_ssl_module --without-mail_imap_module<br>
--without-mail_pop3_module --without-mail_smtp_module<br>
<br>
nginx.conf:<br>
<br>
user www www;<br>
worker_processes 2;<br>
worker_rlimit_nofile 10000;<br>
#worker_cpu_affinity 0001 0010 0100 1000;<br>
<br>
error_log /var/log/nginx/error_log warn;<br>
<br>
events {<br>
        worker_connections 128;<br>
        use epoll;<br>
#       debug_connection <a href="tel:217.24.65.183" value="+12172465183">217.24.65.183</a>;<br>
}<br>
<br>
http {<br>
        include /etc/nginx/mime.types;<br>
        default_type application/octet-stream;<br>
<br>
        log_format main<br>
                '$remote_addr - $remote_user [$time_local] '<br>
                '"$request" $status $bytes_sent '<br>
                '"$http_referer" "$http_user_agent" '<br>
                '"$gzip_ratio" $request_time';<br>
<br>
        client_header_timeout 10m;<br>
        client_body_timeout 10m;<br>
        send_timeout 10m;<br>
<br>
        client_max_body_size 700m;<br>
        connection_pool_size 256;<br>
        client_body_buffer_size 1024k;<br>
        client_header_buffer_size 8k;<br>
        large_client_header_buffers 4 8k;<br>
        request_pool_size 4k;<br>
<br>
        proxy_buffering on;<br>
        proxy_buffer_size 4k;<br>
       proxy_buffers 4096 4k;<br>
<br>
        open_file_cache max=2000 inactive=60s;<br>
        open_file_cache_valid 60;<br>
        open_log_file_cache max=1000 inactive=60s valid=1m;<br>
<br>
        geoip_country /usr/share/GeoIP/GeoIP.dat; # the country IP<br>
database<br>
        geoip_city    /usr/share/GeoIP/GeoLiteCity.dat; # the city IP<br>
database<br>
<br>
        gzip on;<br>
        gzip_min_length 1100;<br>
        gzip_buffers 4 8k;<br>
        gzip_types text/plain text/css application/x-javascript text/xml<br>
application/xml application/xml+rss text/javascript;<br>
<br>
        output_buffers 1 32k;<br>
        postpone_output 1460;<br>
<br>
        aio on;<br>
        directio 512;<br>
        sendfile on;<br>
        tcp_nopush on;<br>
        tcp_nodelay on;<br>
<br>
        keepalive_timeout 75 20;<br>
        keepalive_disable msie6;<br>
<br>
        ignore_invalid_headers on;<br>
        server_name_in_redirect on;<br>
<br>
        fastcgi_pass_request_headers on;<br>
        fastcgi_intercept_errors on;<br>
        fastcgi_buffer_size 4k;<br>
        fastcgi_buffers 1024 4k;<br>
        fastcgi_read_timeout 300;<br>
       fastcgi_send_timeout 300;<br>
<br>
        index index.html;<br>
<br>
        upstream phpfarm {<br>
          server unix:/var/run/fastcgi/php-fpm-1.sock weight=100<br>
max_fails=3 fai<br>
          server unix:/var/run/fastcgi/php-fpm-2.sock weight=100<br>
max_fails=3 fai<br>
          server unix:/var/run/fastcgi/php-fpm-3.sock weight=100<br>
max_fails=3 fai<br>
        }<br>
<br>
        # upload progress<br>
        upload_progress uploads 1m;<br>
        upload_progress_content_type "application/json";<br>
        upload_progress_json_output;<br>
<br>
# virtual host configuration<br>
<br>
       # devel.testsite<br>
        server {<br>
                listen 80;<br>
                server_name devel.testsite;<br>
                client_max_body_size 1000m;<br>
<br>
                access_log /var/log/nginx/testsite.access_log main;<br>
                error_log /var/log/nginx/testsite.error_log warn;<br>
<br>
                root /opt/www/testsite;<br>
<br>
                location / {<br>
                  index index.php;<br>
                }<br>
<br>
                # include common settings<br>
                include common.conf;<br>
<br>
                charset utf-8;<br>
<br>
                location /data {<br>
                  deny all;<br>
                }<br>
<br>
                location = /uploads/progress {<br>
                  report_uploads uploads;<br>
                }<br>
<br>
                # glue css/js files into a single file for faster<br>
loading<br>
                rewrite .*/(css|javascript)/[^,]+,.+ /glue.php last;<br>
<br>
                location ~ ^(?<script_filename>.+\.php)$ {<br>
                  try_files $script_filename =404;<br>
                  include fastcgi_params;<br>
                  fastcgi_param SCRIPT_FILENAME<br>
$document_root$script_filename;<br>
                  fastcgi_pass phpfarm;<br>
                  track_uploads uploads 30s;<br>
                }<br>
        }<br>
<br>
Posted at Nginx Forum: <a href="http://forum.nginx.org/read.php?21,215157,215157#msg-215157" target="_blank">http://forum.nginx.org/read.php?21,215157,215157#msg-215157</a><br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
</blockquote></div><br></div>