Просмотр полной версии : nginx - что за зверь?
пытаюсь изучать линух, и тут в очередной раз встал в тупик, есть оказывается альтернатива апачу, nginx - что за зверь? стоит ли заморачиваться его ставить. будетли он жить вместе с апачем? чем он лучше или хуже апача? где по русски про него почитать?
вот такая куча вопросов. всем ответившим заранее спасибо.
php_master
22.02.2009, 01:30
Альтернатив апачу множество.
А чтива по nginx полно в гугле.
nginx - один из лучших серверов по отдаче статики
вместе с тем он поддерживает много интересных вещей, таких как завязывание на скрипты, сокрытие прямых урлов при скачке, потоковое видео и т.д.
на сайте разработчика изрядно документации
upandhigh
22.02.2009, 02:18
Nginx Обычно идет дополнением к апачу, в качестве так называемого фронтэнда
его ставят перед апачем, чтобы он обслуживал конекты юзверей - ибо он очень экономично юзает ресурсы в отличае от последнего и таким образом разгружает апач. т.е. принцип примерно таков - идет запрос к вебсерверу входящий конект принимает нжинкс, после того как от пользователя данные получены - он их быстро отдает апачу, апач моментом возращает ответ и выгружает свой процесс, а содержимое МЕДЛЕННО отдается уже пользователю через Nginx. таким образом апачу не нужно держать в памяти свои процессы пока пользователь не скачает информацию (пхп, хтмл странички, картинки и тд) и тем самым идет экономия ресурсов
следовательно такой вебсервер, в связке нжинкс + апач сможет обслужить на много больше клиентов нежели чем сам апач. от апача можно вобще отказаться, если тебе не нужен его функционал или доп модули, которые есть только под него. сам пхп можно запускать как FASTCGI и таким образом необходимость в апаче отпадает + при такой связке ты точно выйграешь в экономии памяти, свои минусы правда тоже есть.
P.S.: сам автор (Игорь Сысоев сотрудник рамблера) демонстрировал на FREEBSD как нжинкс обсулживал свыше 100000 одвновременных конектов на одном сервере, это при том что в системе по дефолту 65 тысяч портов. лично у меня нжинкс обрабатывал до 30 тысяч одновременных соединений (очень полезно когда тебя ддосят), часть из которых шла на апач а часть отдавалась статикой напрямую (картинки и тд) все это было на весьма скромном сервере
Можно использовать как полную замену апачу.
У меня на nginx крутиться FastCGI + Django.
Очень просто в конфигурации и имеет подробную официальную документацию.
На собственном сервачке использую nginx как фронтэнд, а апач как обработчик скриптов. Совсем не грузит систему, экономит ресурсы.
baddan написал(а):
пытаюсь изучать линух, и тут в очередной раз встал в тупик, есть оказывается альтернатива апачу, nginx - что за зверь? стоит ли заморачиваться его ставить. будетли он жить вместе с апачем? чем он лучше или хуже апача? где по русски про него почитать?
вот такая куча вопросов. всем ответившим заранее спасибо.
Сам античат стоит на нём (ngix).. и уже не первый год
Так что ставить его думаю стоит..
...
Подробнее об.. нджиксе читай тут:
Для просмотра скрытого содержимого необходимо иметь 5 сообщений, у вас 0 сообщений.
Ставить стоит. Очень шустрый и быстрый веб-сервер. Легок в настройках, кучу документации. Если не хочется возиться с таким монстром, как апач, то единственная альтернатива ему - nginx. В любом случае есть смысл посмотреть на это чудо, т.к. когда есть выбор то и решение надо обдумывать. А не просто ставить апач потому что только апач
Еще новость в сторону nginx, как легкого и быстрого веб-сервера - у него появилось кеширование файлов, что думаю очень хорошо отразиться на развитии и рассространения продукта вцелом.
http://www.opennet.ru/opennews/art.shtml?num=20894 (https://href.li/?http://www.opennet.ru/opennews/art.shtml?num=20894)
Теперь апачу будет еще тяжлее с ним конкурировать ))
php_master
24.03.2009, 16:04
Теперь апачу будет еще тяжлее с ним конкурировать ))
Они и не особо конкуренты. Всё таки nginx до функционала индейца ещё как до Китая пешочком. Другое дело, что этот функционал не всегда и не везде нужен.
Nginx стоит ставить в случае реально высоких нагрузок (а не потому что это модно), если посещалка несколько килоуников в сутки, то и индейца хватит за глаза.
Кстати, не понимаю людей ставящих с nginx апач бэк-эндом (хотя изредка это оправдано).
PHP_Master написал(а):
Кстати, не понимаю людей ставящих с nginx апач бэк-эндом (хотя изредка это оправдано).
у нас на фирме так стоит.
Nginx справляется с нагрузкой, но для сайта написан особый парсер, который не работает с nginx. Вот и получилась связка. Nginx для отдачи, а apache для обработки парсера. Совместно работают очень даже хорошо.
Дома мне хвтает nginx )))) вот им и пользуюсь.
Дайте пару примеров конфигов.
У меня строит щас apache, на нем крутится 10 сайтов, вот хотелось попробывать поставить nginx, чтобы допустим бинарники шли через nginx, а php файлы отдавал apache.
php_master
31.03.2009, 20:12
Лучше PHP обрабатывть как CGI, а апач выбросить вообще.
Разумеется - это относиться к тому, чтоб выжать все соки с сервера. Если вполне справляется апач, то не стоит менять.
Добавлено через 1 минуту
symbolz написал(а):
у нас на фирме так стоит.
Nginx справляется с нагрузкой, но для сайта написан особый парсер, который не работает с nginx. Вот и получилась связка. Nginx для отдачи, а apache для обработки парсера. Совместно работают очень даже хорошо.
Дома мне хвтает nginx )))) вот им и пользуюсь.
Особый парсер чего?
И на чём написан?
PHP_Master написал(а):
Лучше PHP обрабатывть как CGI, а апач выбросить вообще.
Разумеется - это относиться к тому, чтоб выжать все соки с сервера. Если вполне справляется апач, то не стоит менять.
Добавлено через 1 минуту
Особый парсер чего?
И на чём написан?
Разве если обрабатывать PHP как CGI это будет быстрее?
И как обстоят дела с rewrite в nginx?
php_master
31.03.2009, 20:38
Разве если обрабатывать PHP как CGI это будет быстрее?
Смотря чем обрабатывать.
Если suexec или suphp, то медленнее. Если через spawn или fpm, то быстрее.
http://www.nulled.ws/showthread.php?t=105295 (https://href.li/?http://www.nulled.ws/showthread.php?t=105295)
И как обстоят дела с rewrite в nginx?
Элементарно переписываются.
PHP_Master написал(а):
Смотря чем обрабатывать.
Если suexec или suphp, то медленнее. Если через spawn или fpm, то быстрее.
http://www.nulled.ws/showthread.php?t=105295 (https://href.li/?http://www.nulled.ws/showthread.php?t=105295)
Элементарно переписываются.
Можно пример конфига для spawn или fpm
И еще как с виртуальными хостами дело?
php_master
31.03.2009, 20:56
Можно пример конфига для spawn или fpm
Код:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log debug;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
#pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '"$status" $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name wp;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /srv/www/wp/htdocs/;
index index.html index.php;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /srv/www/htdocs/;
}
if (!-e $request_filename) {
rewrite pages(.*)$ pages.php?$1 last;
break;
}
location ~ \.php$ {
root html;
fastcgi_pass unix:/tmp/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /srv/www/wp/htdocs/$fastcgi_script_name;
include fastcgi_params;
}
}
}
И еще как с виртуальными хостами дело?
Нормально.
PHP_Master написал(а):
Код:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log debug;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
#pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '"$status" $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name wp;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /srv/www/wp/htdocs/;
index index.html index.php;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /srv/www/htdocs/;
}
if (!-e $request_filename) {
rewrite pages(.*)$ pages.php?$1 last;
break;
}
location ~ \.php$ {
root html;
fastcgi_pass unix:/tmp/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /srv/www/wp/htdocs/$fastcgi_script_name;
include fastcgi_params;
}
}
}
Нормально.
Поставил сегодня все, все заработало
Спасиб PHP_Master'у!
Возник вопрос, может есть определенные нюансы в настройке чтобы производительность была максимальная?
php_master
01.04.2009, 23:55
Спасибо принято говорить кнопкой
А для максимальной производительности надо тюнить все компоненты, а не только web-сервер и анализировать трафик - универсального средства нет, много различных нюансов.
PHP_Master написал(а):
Смотря чем обрабатывать.
Если suexec или suphp, то медленнее. Если через spawn или fpm, то быстрее.
http://www.nulled.ws/showthread.php?t=105295 (https://href.li/?http://www.nulled.ws/showthread.php?t=105295)
Элементарно переписываются.
В ПХП в режыме FastCGI и CGI есть много лимитов)
А когда пользователей много и посищаймость большая пользователи будет видеть (500 Internal Server Error) вот такие вот пироги)
php_master
05.04.2009, 00:09
В ПХП в режыме FastCGI и CGI есть много лимитов)
А когда пользователей много и посищаймость большая пользователи будет видеть (500 Internal Server Error) вот такие вот пироги)
Какие такие лимиты?
FastCGI при прямых руках уделывает mod_php на раз.
ЗЫ Модератору неплохо бы было следить за грамотностью своего текста.
Я как перевел сервак на nginx с апача вообщето особой разницы не заметил, может просто машина шустрая...
php_master
05.04.2009, 19:27
Какую разницу ты хотел увидеть?
Если справляется апач, то разницу на глаз сложо заметить
pchelovod
16.04.2009, 06:14
Возможноли с ним настроить несколько SSL сертификатов на один IP ?
Я себе таки поставил nginx(хрен произнесеш если чесно), спасибо что объяснили как его кушать поставил как frontend для части фалов(статики). Прирос а фиг его знает если честно по скорости у меня не 1к посещений
Для просмотра скрытого содержимого необходимо иметь 1 сообщение, у вас 0 сообщений.
Добавлено через 1 минуту
pchelovod написал(а):
Возможноли с ним настроить несколько SSL сертификатов на один IP ?
Почему при использовании HTTPS работает только один виртуальный сервер и сертификат этого сервера показывается для остальных виртуальных серверов ?
Потому что SSL-соединение устанавливается до того, как веб-сервер узнает, для какого именно виртуального сервера предназначен запрос, и поэтому выдаёт сертификат сервера по умолчанию.
На данный момент наиболее общим и надёжным решением этой проблемы является выделение каждому HTTPS-серверу отдельного IP-адреса. В частных случаях возможно использование сертификатов с альтернативными именами и wildcard'ами.
Наиболее вероятным решением этой проблемы в ближайшем будущем будет TLS extension Server Name Indication (SNI, RFC3546). На сегодняшний момент SNI поддерживается только со следующих версий браузеров:
MSIE 7.0 (но только под Windows Vista),
Firefox 2.0,
Opera 8.0 (при включённой поддержке TLSv1.1),
Safari 3.2.1 (Mac OS X 10.5.6),
Chrome.
Для просмотра скрытого содержимого необходимо иметь 1 сообщение, у вас 0 сообщений.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot