Re: Из за чего медленно работает nginx?

Валентин Бартенев vbart at nginx.com
Sun Dec 9 20:58:48 UTC 2012


On Monday 10 December 2012 00:34:35 Renat wrote:
[...]
> 
> Сейчас проделал:
> ./configure --with-cc-opt='-DNGX_HAVE_ACCEPT4=0'
> make
> make install
> cd /usr/local/nginx/sbin/
> ./nginx
> 
> И знаете, ВСЕ ПОЛУЧИЛОСЬ. Страницы начали быстро грузится! Я был очень
> удивлен.
> Тоесть виной всему насколько я понимаю accept4().

Да, что-то у вас с системой не так. Я бы попытался решить эту проблему,
возможно обновить ядро, системные библиотеки, и если не помогает написать 
мейнтейнерам дистрибутива, завести тикет.

Иначе у вас могут быть проблемы не только с nginx. И кто знает, что ещё кроме 
accept4(SOCK_NONBLOCK) у вас не работает.


> ----
> 
> После того как установил и обновил ArchLinux, я сделал бекап HDD.
> Сейчас хотел бы восстановиться и собрать nginx используя pacman -Sy.
> Скажите пожалуйста это возможно?
> Может можно как-то удалить accept4?
> Или есть только 1 вариант, - собирать nginx самостоятельно с использованием
> 
> ./configure --with-cc-opt='-DNGX_HAVE_ACCEPT4=0'  ?
> 
> 
> Спасибо.

Вам нужно отредактировать PKGBUILD для nginx и собрать с помощью makepkg.
https://wiki.archlinux.org/index.php/Creating_Packages_%28%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9%29

Сам стандартный PKGBUILD можно взять из abs:
https://wiki.archlinux.org/index.php/Arch_Build_System_%28%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9%29

Вообще это простой текстовый файл, который и содержит все команды для сборки, 
включая и ./configure, к которой вам нужно дописать
  --with-cc-opt='-DNGX_HAVE_ACCEPT4=0'

Там ничего сложного.

А удалить nginx, установленный не через pacman, а с помощью make install вы 
можете просто удалив всю папку: /usr/local/nginx. А затем, во время установки из 
пакета, если будет ругаться - воспользоваться флагом "-f".

--
Валентин Бартенев
http://nginx.com/support.html
http://nginx.org/en/donation.html


Подробная информация о списке рассылки nginx-ru