Re: Проблема с компиляцией в Solaris 11 sparc
Честно сказать не в курсе, почему solaris. Когда пришел на текущее место работы, он уже здесь был. Но у меня есть подозрение, чтио из-за вендора - много железа и ПО от oracle. Dmitry Wrote: --- прошу прощения за оффтопик. Речь не об nginx. Где и почему сейчас используют Solaris? Интерес не праздный, пытаемся оценить под какие ОС имеет смысл делать сборки, Солярис думали не рассматривать, поэтому интересно: где сохранилось и почему? 2014-02-14 19:37 GMT+04:00 sebor nginx-fo...@nginx.us: Валентин Бартенев Wrote: --- On Friday 14 February 2014 09:59:51 sebor wrote: Т.е. для 64-битной сборки достаточно указать только --with-cpu-opt=sparc64? Да. -- Валентин Бартенев ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru Только что проверил - результат тот же. После configure в файле objs/Makefile есть сторока: CFLAGS = -fast -xipo -m64 -errwarn=%all -g -I ../pcre-8.34 Может перед make из нее тоже убирать? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,247559,247565#msg-247565 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Dmitry Goryainov ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: http://forum.nginx.org/read.php?21,247559,247637#msg-247637 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx на разных ос
В целом (99%) конфигурация не зависит от ОСи, на которой он работает, но могут быть ньюансы: - Методы обработки соединений http://nginx.org/ru/docs/events.html - расположение папки с временными файлами (в разных ОСях её и даже родительской папки может не существовать). - тюнинг под разные файловые системы - инклуд конфигов () Возможно что-то ещё-то очень узко-специфическое. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,247576,247639#msg-247639 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Проблема с компиляцией в Solaris 11 sparc
У меня тоже Solaris 11 sparc $ file /usr/bin/openssl /usr/bin/openssl: ELF 64-bit MSB executable SPARCV9 Version 1, UltraSPARC1 Extensions Required, dynamically linked, not stripped $ openssl version OpenSSL 1.0.0j 10 May 2012 $ uname -a SunOS router 5.11 11.1 sun4v sparc SUNW,Sun-Fire-T1000 и откуда у вас 32-битная либа там? Мы тоже интенсивно используем solaris, правда на x86 архитектуре. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,247559,247641#msg-247641 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: duplicate location /
16.02.2014 21:10, nik222 пишет: М.А. Мохначевский Wrote: --- Пробовали location / { ... include file; ... } ? проблема как раз таки в том, что в инклуде есть location / и при таком варианте варнинги и вываливаются, так как location / задваивается а убрать из инклуда лишний location / не позволяет религия? оставив location / в основном конфиге. Как бонус -- можно этот же блок подключить в любой другой location. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Проблема с компиляцией в Solaris 11 sparc
Тоже самое... ld: fatal: symbol referencing errors. No output written to objs/nginx *** Error code 2 make: Fatal error: Command failed for target `objs/nginx' Current working directory /export/home/user/nginx-1.5.10 *** Error code 1 make: Fatal error: Command failed for target `build' Скомпилилось только тогда, когда я указал CFLAGS=-fast перед configure, но это, видимо, не выход. Sergey Budnevitch Wrote: --- On 14 Feb 2014, at 19:37, sebor nginx-fo...@nginx.us wrote: Валентин Бартенев Wrote: --- On Friday 14 February 2014 09:59:51 sebor wrote: Т.е. для 64-битной сборки достаточно указать только --with-cpu-opt=sparc64? Да. Только что проверил - результат тот же. После configure в файле objs/Makefile есть сторока: CFLAGS = -fast -xipo -m64 -errwarn=%all -g -I ../pcre-8.34 Может перед make из нее тоже убирать? Нет, проблема у вас в том, что nginx собирается 64-битный, а openssl 32-битный и все ломается на этапе компоновки. Передачей параметров тут, видимо, не отделаться, из-за мудреного конфигурирования openssl и неестественного его интеллекта. Попробуйте в auto/lib/openssl/make вместо ./config --prefix=$ngx_prefix no-shared $OPENSSL_OPT \\ вбить ./Configure --prefix=$ngx_prefix no-shared $OPENSSL_OPT solaris-sparcv9-cc \\ Рекомендую обратить внимание на результаты тестов при сборке openssl’я. sunpro раньше очень хорошо оптимизировал rsa в openssl’е, так, что все собиралось, но ничего не работало. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: http://forum.nginx.org/read.php?21,247559,247645#msg-247645 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx на разных ос
Вам процитировать ещё раз своё сообщение? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,247576,247648#msg-247648 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx на разных ос
17 февраля 2014 г., 11:41 пользователь denis de...@webmaster.spb.ru написал: 17.02.2014 13:16, skeletor пишет: ньюансы: новые что? Кто такие ансы? Прошу прощения за оффтоп, но прежде, чем упрекать кого-либо в неграмотности, Вам бы следовало самому научиться писать правильно. Hint1: Все предложения следует начинать с заглавной буквы. Hint2: Стилистическая ошибка, замена что на кто в следующем предложении. Hint3: Ансы следовало взять в кавычки. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Распределённое хранение файлов [OFFTOPIC]
Когда у меня была такая задача, я исходил из принципа что самое надежное решение - самое простое. Я использовал много серверов с NFS, запись в базе того, на каком сервере лежит файл и X-Accel-Redirect при его выдаче. 17 февраля 2014 г., 1:41 пользователь Alex Yakovenko aleksey.yakove...@gmail.com написал: https://github.com/mogilefs/ 16 февраля 2014 г., 21:33 пользователь Михаил Монашёв postmas...@softsearch.ru написал: Здравствуйте. Расскажите, пожалуйста, как Вы храните много разных файлов, если они на один сервер не влазят? Есть ли специальные инструменты для распространения файлов по серверам, поддержания нужного количества реплик, обхода всех файлов или файлов с каким-то признаком и т.п. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru -- WBR Alex Yakovenko ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Websockets and Nginx reload
Hello! On Fri, Feb 14, 2014 at 04:44:20PM -0500, Alex Koval wrote: Добрый день. Столкнулся с проблемой: при проксировании Websockets и релоаде Nginx старые воркеры продолжают работу пока открыто хотя бы одно проксируемое Websocket соединение. Есть ли какая-нибудь возможность разорвать Websocket соединения при релоаде? Поскольку nginx не знает, что именно происходит в соединении - при плавном завершении рабочих процессов (которое, в частности, делается при релоаде) он его не трогает, пока соединение не завершится само. То же относится, e.g., к запросам в процессе исполнения. Решение - либо переоткрывать соединения своими силами (по соответствующему сигналу бекенду, или просто раз в N минут), либо по истечению некоторого времени просить рабочие процессы завершиться быстро (в этом случае незавершенные соединения будут просто разорваны). Подробности где-то тут: http://nginx.org/ru/docs/control.html -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Проблема с компиляцией в Solaris 11 sparc
Hello! On Mon, Feb 17, 2014 at 05:06:17AM -0500, sebor wrote: Тоже самое... ld: fatal: symbol referencing errors. No output written to objs/nginx *** Error code 2 make: Fatal error: Command failed for target `objs/nginx' Current working directory /export/home/user/nginx-1.5.10 *** Error code 1 make: Fatal error: Command failed for target `build' Скомпилилось только тогда, когда я указал CFLAGS=-fast перед configure, но это, видимо, не выход. Так оно скомпилилось без дополнительных флагов, т.е. и nginx, и библиотека - в 32-битах. Чтобы собралось так, как вам хочется, - вам надо научиться собирать OpenSSL так, как вам хочется (i.e., в 64 битах), после чего использовать опцию --with-openssl-opt для того, чтобы nginx использовал нужные флаги при сборке OpenSSL. Ну или проще - собрать OpenSSL самому, и сказать nginx'у собираться с нужным OpenSSL'ем через --with-cc-opt/--with-ld-opt. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: fastcgi keep conn on и fastcgi finish request() в PHP
Hello! On Sat, Feb 15, 2014 at 03:36:18PM -0500, S.A.N wrote: При включенном keepalive в upstream к FastCGI бекенду на PHP, появляются ошибки 502, проблему нашли и воспроизводится она таким образом. РНР скрипт, медленные операции выполняет в фон режиме после вызова функции fastcgi_finish_request(), тестовый скрипт ?php ignore_user_abort(); fastcgi_finish_request(); sleep(10); ? конфигурация Nginx upstream fpm { server 127.0.0.1:9000; keepalive 8; } server { .. fastcgi_keep_conn on; fastcgi_param SCRIPT_NAME /index.php; fastcgi_pass fpm; .. } Лог ошибки Nginx [error] 7945#0: *5 upstream sent unexpected FastCGI record: 3 while reading response header from upstream ... Вы прислали FCGI_END_REQUEST, ничего не вернув клиенту, о чём nginx и плачет. Единственное, что он в данном случае может сделать - это вернуть клиенту ошибку. Лог ошибок PHP-FPM пустой. Ожидаемо, т.к. со стороны php поведение - ровно то, которое запросил программист. В upstreem кеше 8 конектов, ошибка появляется когда Nginx ждет от PHP-FPM ответа в конекте который ещё не освободился, по моей логике PHP-FPM должен ответить Nginx когда скрипт завершит работу (sleep(10)) но этого не происходит и Nginx отдает 502 ошибку, судя по всему PHP-FPM после освобождения конекта не смог обработать следующий запрос от Nginx в этом конекте, подозреваю что функции fastcgi_finish_request() не рассчитана на повторное использования конекта. Или я что-то делаю не правильно? После того, как запрос завершён с помощью FCGI_END_REQUEST (== fastcgi_finish_request() в php), вы уже не сможете ничего вернуть клиенту. Так имеет смысл делать, когда вы хотите вернуть ответ, а потом сделать ещё какую-то работу. Мультиплексировать так несколько запросов в одном процессе php - не получится. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Проблема с компиляцией в Solaris 11 sparc
Потому, что производительней спарков ни чего нет, а лучше всего на спарках работает солярка. Это под какие задачи? По моим воспоминаниям - sparc-машины были очень дорогие, с низкой частотой и мизерным количеством памяти. Зачем бы сегодня гонять nginx именно на этих камях?.. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Проблема с компиляцией в Solaris 11 sparc
Hello! On Mon, Feb 17, 2014 at 09:50:47AM -0500, sebor wrote: Откуда ж столько камней) В общем поставил openssl отдельно от nginx'a: ./Config solaris64-sparcv9-gcc threads shared --prefix=/opt/openssl И собрал nginx с опциями; --with-ld-opt=-L/opt/openssl/lib --with-cc-opt=-I/opt/openssl/include Все скомпилилосьи работает. Но теперь, как я понимаю, перенсти бинарник nginx на другую машину я не смогу? При старте возникает ошибка: ld.so.1: nginx: fatal: relocation error: file /opt/nginx/sbin/nginx: symbol SSL_CTX_set_next_protos_advertised_cb: referenced symbol not found Заголовки nginx взял откуда сказали, а библиотеку грузит динамически из системы, и там нет NPN. Простейшее решение - таки собрать OpenSSL без динамических библиотек, чтобы nginx собрался со статическими. I.e., no-shared при вызове OpenSSL'ного ./config'а. (Можно ещё поиграть в прописывание -rpath при сборке / LD_LIBRARY_PATH перед запуском, но собрать статически - банально проще.) -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: fastcgi keep conn on и fastcgi finish request() в PHP
On Monday 17 February 2014 13:21:03 S.A.N wrote: [..] Если я правильно понял, использовать keepalive конекта после FCGI_END_REQUEST, не выйдет? И есть только два варианта, отказаться от keepalive (без него эта схема работает) или отказаться от fastcgi_finish_request (без него работает keepalive) Есть только один правильный вариант реализации выполнения тяжелых запросов: складывать их в очередь, которую затем разгребать отдельным процессом. От того, что вы позвали fastcgi_finish_request() - у вас самый главный ресурс, PHP-процесс не освободился и обрабатывать другие запросы он по-прежнему не в состоянии. -- Валентин Бартенев ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Websockets and Nginx reload
Спасибо за подробный ответ, Максим. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,247573,247674#msg-247674 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Распределённое хранение файлов [OFFTOPIC]
Мы положили в mongodb, а перед раздатчиками поставили кэширующие прокси на nginx. Д. понедельник, 17 февраля 2014 г. пользователь Andrey Velikoredchanin написал: Когда у меня была такая задача, я исходил из принципа что самое надежное решение - самое простое. Я использовал много серверов с NFS, запись в базе того, на каком сервере лежит файл и X-Accel-Redirect при его выдаче. 17 февраля 2014 г., 1:41 пользователь Alex Yakovenko aleksey.yakove...@gmail.comjavascript:_e(%7B%7D,'cvml','aleksey.yakove...@gmail.com'); написал: https://github.com/mogilefs/ 16 февраля 2014 г., 21:33 пользователь Михаил Монашёв postmas...@softsearch.rujavascript:_e(%7B%7D,'cvml','postmas...@softsearch.ru'); написал: Здравствуйте. Расскажите, пожалуйста, как Вы храните много разных файлов, если они на один сервер не влазят? Есть ли специальные инструменты для распространения файлов по серверам, поддержания нужного количества реплик, обхода всех файлов или файлов с каким-то признаком и т.п. -- С уважением, Михаил mailto:postmas...@softsearch.rujavascript:_e(%7B%7D,'cvml','postmas...@softsearch.ru'); ___ nginx-ru mailing list nginx-ru@nginx.org javascript:_e(%7B%7D,'cvml','nginx-ru@nginx.org'); http://mailman.nginx.org/mailman/listinfo/nginx-ru -- WBR Alex Yakovenko ___ nginx-ru mailing list nginx-ru@nginx.org javascript:_e(%7B%7D,'cvml','nginx-ru@nginx.org'); http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru