Я запускаю nginx на локальном сервере CentOS 6.3. У меня есть конкретный файл javascript, который загружается на веб-страницу. Если я изменяю файл javascript и обновляю веб-страницу, я всегда получаю ошибку 500. Затем, когда я обновляю его снова, файл JS загружается нормально.
Позже, если я снова изменю файл JS и обновлю браузер, та же ошибка 500. Обновите второй раз, он загружается нормально. Он дает ошибку 500 только при первом обновлении.
Почему это? Вот моя конфигурация сервера:
server {
listen 80;
server_name www.mysite.local;
rewrite ^(.*) http://mysite.local$1 permanent;
}
server {
listen 80;
server_name mysite.local;
access_log /var/log/nginx/mysite.local/access.log;
error_log /var/log/nginx/mysite.local/error.log;
rewrite_log on;
root /vhosts/mysite/mysite.local/public;
index index.php;
# Heres my redirect, try normal URI and then our Laravel urls.
location / {
try_files $uri $uri/ /index.php?$query_string;
}
include /etc/nginx/templates/other;
Вот включаемый файл:
if (!-d $request_filename) {
rewrite ^/(.+)/$ /$1 permanent;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
Журнал ошибок:
2014/09/06 23:19:58 [crit] 27884#0: *29935 open() "/vhosts/mysite.local/public/js/testfile.js" failed (11: Resource temporarily unavailable), client: 192.168.1.51, server: mysite.local, request: "GET /js/testfile.js HTTP/1.1", host: "mysite.local", referrer: "http://mysite.local/some/page"
Я единственный, кто подключается к серверу. Другого трафика нет. И не имеет значения, обновляю ли я страницу сразу после сохранения файла или жду (например, 15 секунд или что-то в этом роде). При первом обновлении всегда возникает ошибка 500.
Я открываю / редактирую файлы через соединение Samba.
Это закончилось проблемой с Samba, а не с nginx. Я решил проблему, добавив в конфигурацию Samba следующее:
oplocks = no
level2 oplocks = no
Первоначально найдено в следующем потоке SO: https://stackoverflow.com/questions/10202567/nginx-resource-tempoporary-unavailable-using-a-samba-share