VicTHOR
@VicTHOR
(╮°-°)╮┳━━┳ ( ╯°□°)╯ ┻━━┻

Почему nginx удерживает map файл?

В некой директории лежат файлы bootstrap.min.css и bootstrap.min.css.map. С помощью javascript эти файлы перекладываются из одной директории в другую, причем вторая заранее очищается.
Происходит это дело на виртуалке, в "общих папках". При первом запуске виртуалки скрипт проходит успешно, но при последующих выдается ошибка
Error: ETXTBSY: text file is busy, unlink '/path/to/bootstrap.min.css.map'

Смотрю кем занят этот файл
[root@linux]# lsof ./path/to/bootstrap.min.css.map 

COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF  NODE NAME
nginx   3559 nginx   24r   REG   0,42   646986 10378 ./path/to/bootstrap.min.css.map

kill -9 3559 помогает. Но в чем ошибка, как обходиться без этого?

nginx.conf
user nginx vboxsf;
worker_processes 2;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
    multi_accept on;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  off;
    error_log   /var/log/nginx/error.log crit;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        text/html;
    charset             UTF-8;

    keepalive_timeout     20;
    client_header_timeout 20;
    client_body_timeout   20;
    send_timeout          20;

    reset_timedout_connection on;

    gzip  on;
    gzip_buffers 16 8k;
    gzip_comp_level 6;
    gzip_http_version 1.1;
    gzip_min_length 256;
    gzip_proxied any;
    gzip_vary on;
    gzip_types
      text/xml application/xml application/atom+xml application/rss+xml application/xhtml+xml image/svg+xml
      text/javascript application/javascript application/x-javascript
      text/x-json application/json application/x-web-app-manifest+json
      text/css text/plain text/x-component
      font/opentype application/x-font-ttf application/vnd.ms-fontobject
      image/x-icon;
    gzip_disable "msie6";

    open_file_cache max=65000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;

server {
    server_name  some.name;
    root         /some/path/;

    access_log   off;
    error_log    /var/log/nginx/some..error.log;

    # Cache images 1 year
    location ~* \.(jpg|jpeg|gif|png|ico|woff|woff2)$ {
        access_log        off;
        log_not_found     off;
        expires           360d;
    }

    # Don't store files log
    location ~* \.(css|js|xml)$ {
        access_log        off;
        log_not_found     off;
    }

    # Exclude hidden directory
    location ~ /\. {
        access_log off;
        log_not_found off; 
        deny all;
    }

    index index.php index.html;

    error_page 404 /index.php;

    location / {
        rewrite ^/(.*)/$ /$1 permanent;
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        rewrite ^/(.*)/$ /$1 permanent;

        server_tokens off;
        client_max_body_size 3m;
        client_body_buffer_size 128k;

        # regex to split $uri to $fastcgi_script_name and $fastcgi_path
        fastcgi_split_path_info ^(.+\.php)(/.+)$;

        # Check that the PHP script exists before passing it
        try_files $fastcgi_script_name =404;

        # Bypass the fact that try_files resets $fastcgi_path_info
        # see: http://trac.nginx.org/nginx/ticket/321
        set $path_info $fastcgi_path_info;
        fastcgi_param PATH_INFO $path_info;

        fastcgi_index index.php;
        include fastcgi.conf;

        fastcgi_pass unix:/var/run/php-fpm/some.sock;
    }
}
}
  • Вопрос задан
  • 176 просмотров
Решения вопроса 1
@sand3001
Всего по немногу
open_file_cache max=65000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;

тут у нас могут храниться "дескрипторы открытых файлов, информация об их размерах и времени модификации". Попробуйте отключить.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Москва
от 130 000 до 250 000 ₽
Homeapp Москва
от 200 000 ₽
04 дек. 2020, в 10:20
20000 руб./за проект
04 дек. 2020, в 09:56
12000 руб./за проект