Виснет конфиг с редиректвми nginx

NT
На сайте с 18.09.2010
Offline
83
1057

Добрый день!

на сервере nginx и там есть конфиг, в который записываются редиректы. их там накопилось около 150 тысяч.

этот конфиг долго подгружается (весит 25 мб).

Можно ли как-то оптимизировать или решить проблему?

Спасибо :)

M
На сайте с 25.12.2013
Offline
23
#1
nordic_thunder:
Добрый день!

на сервере nginx и там есть конфиг, в который записываются редиректы. их там накопилось около 150 тысяч.
этот конфиг долго подгружается (весит 25 мб).

Можно ли как-то оптимизировать или решить проблему?

Спасибо :)

Здравствуйте.

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

Лучше всего конечно исследовать ситуацию на месте :)

Профессионально занимаюсь системным администрированием (Linux) и оптимизацией (веб)инфраструктуры. Опыт работы более 7 лет с HTML CSS PHP MySQL. Предпочитаю работать с высоконагруженными проектами.
NT
На сайте с 18.09.2010
Offline
83
#2
Mofforg:
Здравствуйте.


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

Лучше всего конечно исследовать ситуацию на месте :)

Спасибо за ответ!

Речь идет о долгой перезагрузке самого nginx (nginx -t при service nginx reload/restart)

iHead
На сайте с 25.04.2008
Offline
137
#3

Можете показать примеры строк, отвечающих за переадресацию?

Как вариант проксировать в какой-нибудь скриптовый язык и там уже в зависимости от входных параметров выдавать Location: ...

Рекомендуемый хостинг партнер 1С-Битрикс (https://www.ihead.ru/bitrix/), PHP-хостинг (https://www.ihead.ru/php/), доверенный партнер RU-CENTER (https://www.ihead.ru/news/573.html), официальный представитель REG.RU в Кирове (https://www.ihead.ru/news/851.html)
NT
На сайте с 18.09.2010
Offline
83
#4
iHead:
Можете показать примеры строк, отвечающих за переадресацию?

Как вариант проксировать в какой-нибудь скриптовый язык и там уже в зависимости от входных параметров выдавать Location: ...

вот таких вот конструкций больше 150 тысяч

location = /content/unique-page-name {

return 301 /new-name/unique-page-name;

}

LM
На сайте с 18.10.2009
Offline
117
#5
nordic_thunder:
location = /content/unique-page-name {
return 301 /new-name/unique-page-name;
}

Что-то мне подсказывает, что тормозит nginx из-за такого большого количества выделенных локейшенов. Лучше так:

rewrite ^/content/unique-page-name$ /new-name/unique-page-name permanent;
NT
На сайте с 18.09.2010
Offline
83
#6
LinuxMan:
Что-то мне подсказывает, что тормозит nginx из-за такого большого количества выделенных локейшенов. Лучше так:


rewrite ^/content/unique-page-name$ /new-name/unique-page-name permanent;

Помогло, спасибо!

Перезагрузка nginx стала моментальной! :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий