Hi, all!
Есть проблемы с использованием weight в upstream в целях распределения
нагрузки.
Если вес выставлен одинаковый, то нагрузка распределяется равномерно.
Пример:
upstream test_backend {
server localhost:59040 weight=10000;
server other_server:59040 weight=10000;
}
Если же выставить разный вес, то нагрузка распределяется неравномерно по
времени, каждые десять минут меняется сервер и все. Сужу об этом по графикам
загрузки серверов. 10 минут все запросы идут на один сервер, затем 10 мин. на
другой.
Пример:
upstream test_backend {
server localhost:59040 weight=10000;
server other_server:59040 weight=5000;
}
location / {
expires epoch;
fastcgi_pass test_backend;
fastcgi_upstream_max_fails 0;
fastcgi_next_upstream error timeout invalid_header http_500;
include fastcgi_param.conf;
}
Но обнаружил, что если цель треть нагрузки отправлять на другой сервер, то
такое помогает:
upstream test_backend {
server localhost:59040 weight=10000;
server localhost:59040 weight=10000;
server other_server:59040 weight=10000;
}
# nginx -v
nginx version: nginx/0.3.60
# uname -a
Linux tapo.net 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux
Здравствуйте, .
Столкнулся с такойже (http://www.lexa.ru/nginx-ru/msg02491.html) проблемой, только наоборот. JPG файлы IE
открывает после редиректа нормально, а вот Опера, Mozilla - открывают
как plaintext.
Патч не помог. В чем может быть проблема?
--
С уважением,
Vitaliy mailto:vitaliy.okulov@gmail.com
Если имеется такая конструкция в конфиге
location / {
root
/web1/users/mds_rudn/www/download.mds.rudn.info/htdocs/;
proxy_pass http://127.0.0.1:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-NGX-Request NGX;
proxy_set_header Host $http_host;
index index.html index.htm;
}
И бекенд выдает X-Accel-Redirect - редирект идет снова через proxy_pass
хост? Как этого избежать, т.е. что бы nginx выдавал файл сам по uri
взятому из X-Accel-Redirect с корнем сайта root.
Изменения в nginx 0.5.4 15.12.2006
*) Добавление: директиву perl можно использовать внутри блока
limit_except.
*) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
заголовке запроса для метода DELETE.
*) Исправление: при использовании одного параметра в директиве
dav_access nginx мог сообщить об ошибке в конфигурации.
*) Исправление: при использовании переменной $host мог произойти
segmentation fault; ошибка появилась в 0.4.14.
Игорь Сысоев
http://sysoev.ru
Зравствуйте
Помогите решить следующую проблемую
У меня на сервере работает связка nginx & apache и с некоторых пор bitrix
У этого битрикса организован - ЧПУ через 404 ошибку - подменяется заголовок
ответа с 404 на 200.
И вот при обращении к некоторым страницым появляются страннные символы в начале:
http://www.dartoffice.ru/tovars/catalog/2432/
curl -v 'http://www.dartoffice.ru/tovars/catalog/2432/' -o ngnix.html
* About to connect() to www.dartoffice.ru port 80
* Trying 89.108.81.167... connected
* Connected to www.dartoffice.ru (89.108.81.167) port 80
> GET /tovars/catalog/2432/ HTTP/1.1
> User-Agent: curl/7.15.5 (x86_64-pc-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8e
zlib/1.2.3
> Host: www.dartoffice.ru
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/0.5.24
< Date: Wed, 13 Jun 2007 20:13:37 GMT
< Content-Type: text/html; charset=windows-1251
< Transfer-Encoding: chunked
< Connection: keep-alive
< Keep-Alive: timeout=20
< P3P: policyref="/bitrix/p3p.xml", CP="NON DSP COR CUR ADM DEV PSA PSD OUR UNR
BUS UNI COM NAV INT DEM STA"
< Set-Cookie: PHPSESSID=a7f7613ac48a223fe3a727003f9e92e2; path=/
< Expires: Thu, 19 Nov 1981 08:52:00 GMT
< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
< Pragma: no-cache
< Transfer-Encoding: chunked
< Content-Language: ru
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 31468 0 31468 0 0 127k 0 --:--:-- --:--:-- --:--:-- 1275k*
Connection #0 to host www.dartoffice.ru left intact
* Closing connection #0
curl -v 'http://www.dartoffice.ru/tovars/catalog/2432/' -o apache.html
* About to connect() to www.dartoffice.ru port 80
* Trying 127.0.0.1... connected
* Connected to www.dartoffice.ru (127.0.0.1) port 80
> GET /tovars/catalog/2432/ HTTP/1.1
> User-Agent: curl/7.15.5 (x86_64-pc-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8e
zlib/1.2.3
> Host: www.dartoffice.ru
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Wed, 13 Jun 2007 20:14:12 GMT
< Server: Apache/2.0.58
< P3P: policyref="/bitrix/p3p.xml", CP="NON DSP COR CUR ADM DEV PSA PSD OUR UNR
BUS UNI COM NAV INT DEM STA"
< Set-Cookie: PHPSESSID=20be0ff8d6b83df09fc6387e6a8891b8; path=/
< Expires: Thu, 19 Nov 1981 08:52:00 GMT
< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
< Pragma: no-cache
< Connection: close
< Transfer-Encoding: chunked
< Content-Type: text/html; charset=windows-1251
< Content-Language: ru
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 31455 0 31455 0 0 129k 0 --:--:-- --:--:-- --:--:-- 14.8M*
Closing connection #0
Как видно и логов выдача апача и nginx различается (см размер документа).
В чем причина и как это починить?
При использовании вот такого PHP кода:
<?
$filepath="/path/to/file.txt";
header("Content-Type: application/csv");
header("Content-Disposition: attachment; filename=\"bad_file.IFF\"");
header("Content-Length: ".filesize($filepath));
readfile($filepath);
exit;
?>
и обработке в Nginx+PHP-FastCGI файл не передается. А именно, если Nginx передает заголовок "Content-Length", то браузер, somewhy, распознает его не верне и файл висит в download'е вечно. Если в этом же коде закоментировать строку:
header("Content-Length: ".filesize($filepath));
Файл передается нормально.
--
Sincerely yours,
Driantsov Alexander,
Technical Support Engineer
Qualiteam Software
Glavpochtamt, p/o box 5152. [web site] http://www.x-cart.com/
432072 Ulyanovsk, Russia [ phone ] +7-(8422)-429037 (9:00-18:00 GMT +4)
Hi All.
Стоит nginx под фрей из портов.
Появилась необходимость собирать его с |--with-http_addition_module.
Но в Makefile такого ключа нет, и как вариант - патчить его ручками.
Вопрос.
Может добавить в Makefile все возможные ключи из configure?
Ибо каждый раз править Makefile при обновлении порта (via portupgrade) -
не лучшее решение.
Или есть простое и удобное решение, которое мне посоветуют?
--
dwl
|
Здравствуйте.
Столкнулся с проблемой, прямо скажу не знал куда обратиться, но т.к.
она может быть связана с nginx, пишу сюда.
Утром на сервере вылезла проблема - как мне кажется закончились
файловые дескрипторы, /bin/login даже не работает, strace выводит
getrlimit(RLIMIT_NOFILE, {rlim_cur=600000, rlim_max=600000}) = 0
т.е. лимит исчерпан и далее
close(599999) = -1 EBADF (Bad file descriptor)
...
close(599988) = -1 EBADF (Bad file descriptor)
т.е. даже не восстановить уже мертвые (ни один рабочий процесс таким
кол-вом не пользуется),
Может ли кто-то прояснить в чем может быть проблема?
Система Linux Gentoo, 2.4.26
Еще раз прошу прощения за возможный оффтоп.