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