Здравствуйте!
Проблема такая: после изменения
конфига и reload-a Nginx эти изменения не
работают. Если сделать restart - все
работает.
Проблема появилась с ростом кол-ва
виртуальных хостов (сейчас 520 шт) и
соответствующим ростом размера
конфигов, т.к. раньше все было Ок.
Структура конфигов такая: 1 общий nginx.conf,
в который включаются конфиги
виртуальных хостов: include hosts/*.conf
Соответственно изменения внутри этих
hosts/*.conf не работают если не сделать restart
Nginx.
Версия сейчас 0.8.54, была 0.7.67.
Проявлялось на обоих.
Есть-ли какие-то варианты на что нужно
посмотреть ?
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,179057,179057#msg-179057
nginx/0.7.65
имеем в логах такого рода ошибки.
sendfile() failed (9: Bad file descriptor) while sending request to
upstream, client: x.x.x.x, server: foo.ru, request: "POST
/edit/19067.php HTTP/1.1", subrequest: "/service/cache.php", upstream:
"http://10.0.1.42:8200/service/cache.php?method=ssi&cacheid=4409", host:
"foo.ru", referrer: "http://foo.ru/edit/19067.php"
к сожалению воспроизвести
неполучилось, но есть предположение,
что перед отправкой суб-запроса
переданный в форме файл уже почищен. в
связи с этим вот такая вот ситуация
складывается.
локейшин, который обрабатывает сси
следующий:
location ^~ /service/ {
default_type text/html;
error_page 404 502 504 = @dynamic;
if ( $request_method = POST ) {
return 404;
}
if ( $arg_cacheid = "" ) {
return 404;
}
set $memcached_key "cache|$arg_cacheid";
memcached_connect_timeout 2;
memcached_read_timeout 5;
memcached_send_timeout 5;
memcached_pass @cache;
}
баг?
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,118976,118976#msg-118976
2010/03/13 22:19:29 [error] 11592#0: *134452425 connect() to
unix:/tmp/php-fpm.sock failed (11: Resource temporarily unavailable) while
connecting to upstream,
Такой ошибкой завален лог. При этом большая часть запросов уходят на бэкэнд
php-fpm.
Что может быть не так, что подкрутить?
nginx 0.8.34
конфиг php-fpm http://pastie.org/868184
Заранее благодарен за помощь.
Добрый день.
На нашел обсуждение в архиве рассылки на данную тему, решил написать,
кто-нибудь настраивал в nginx домены в зоне РФ. Что нужно указывать в
server_name?
Собссна сабж
Надо сделать так, чтобы при заходе на http://somedomain.ru
Был список файлов, но скачать их нельзя было,
То есть при попытке скачать файл по прямой ссылке выдавалась
Ошибка 403(или любая другая)
Желательно запостить такой конфиг
Спасибо!
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,18238,18238#msg-18238
На сервере есть ссылки на некоторую динамику, которые нужно профильтровать.
ссылки примерно такого харакетера
http://mydomain.com/dsfdasf/sfasdf/file.php?EXAMPLE_3=2http://mydomain.com/dsfdasf/sfasdf/file.php&EXAMPLE_=1
сделал отдельный локейшн, удовлетворяющий данному запросу.
server_name mydomain.com
location ~ ^.*(EXAMPLE_).*$ {
rewrite ^ http://mydomain.com redirect;
}
если в запросе содержится знак вопроса '?'
то данный регексп не обрабатывается.
пробовал также экранировать знак вопроса '\?' - не помогло.
пробовал как через location, так и непосредственно в реврайте указать
такой регексп.
В чем может быть ошибка?
Есть ли возможность в nginx проверить наличие или отсутствие определенных
заголовков (ну и проверить их значение если нужно) в запросе клиента и
перенаправить этот запрос в зависимости от результатов проверки.
Поясню, сейчас проходит ддос атака на один из сайтов и в запросах не указан
Accept-Language заголовок. Хочу чтобы сайт работал хотя бы частично и
поэтому запросы без этого заголовка хочу выкинуть, а с ним можно будет
процессить, как обычно.
Спасибо.
Всем - привет:) Помогите разобраться с
проблемой в upload_module. Я делаю POST на
аплоад модуль, в посте кроме файлов
есть еще просто текстовый поля - но в
конечном итоге в $_POST только переменные
относящиеся к аплоаду файлов - а
остальных моих переменных нет - в чем
может быть дело? вот простыня
настройка:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
/var/www/htdocs$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
include fastcgi_params;
}
location /upload {
upload_pass @upload_end_point;
upload_pass_args on;
upload_tame_arrays on;
upload_store /var/www/htdocs/temp;
upload_store_access user:rw group:rw all:r;
# Set specified fields in request body
upload_set_form_field $upload_field_name.name
"$upload_file_name";
upload_set_form_field $upload_field_name.content_type
"$upload_content_type";
upload_set_form_field $upload_field_name.path
"$upload_tmp_path";
# Inform backend about hash and size of a file
upload_aggregate_form_field "${upload_field_name}_md5"
$upload_file_md5;
upload_aggregate_form_field "${upload_field_name}_size"
$upload_file_size;
upload_cleanup 400 404 499 500-505;
track_uploads proxied 70s;
}
location @upload_end_point {
rewrite ^(.*)$ /u.php last;
}
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,177317,177317#msg-177317
Есть apache, который слушает на порту 8080 и nginx на 80.
Столкнулся с проблемой когда некоторые скрипты (mediawiki, cacti)
пытаются самостоятельно определить свой URL, для чего используют
$_SERVER["SERVER_NAME"] и $_SERVER["SERVER_PORT"]. В результате чего,
заходя на wiki.example.com, попадаем редиректом на
wiki.example.com:8080, а хотелось бы без 8080.
Как правильно решается этот вопрос?
Наверняка я не первый, кто с этим столкнулся, но в рассылке ничего не
нашел по этому вопросу.
nginx 0.7.67, php 5.3.3
Часть php-fpm.conf
[code]
listen = /tmp/fastcgi.socket
[/code]
Часть nginx.conf
[code]
location ~ \.php$ {
fastcgi_pass unix:/tmp/fastcgi.socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
/home/hello/www/$fastcgi_script_name;
include fastcgi_params;
}
[/code]
В логах php-fpm ошибок нет, в логах nginx
такая ошибка
[code]
[crit] 77665#0: *1 connect() to unix:/tmp/fastcgi.socket failed (2: No
such file or directory) while connecting to upstream, client:
xx.xx.xx.xx, server: localhost, request: "GET /index.php HTTP/1.1",
upstream: "fastcgi://unix:/tmp/fastcgi.socket:", host: "yy.yy.yy.yy"
[/code]
/tmp/fastcgi.socket создается после запуска php-fpm
с правами 0777 и владльцем www:www
Через порт всё работает.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,117453,117453#msg-117453