SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

Някой ползвал ли е nginx?

nikkola

Member
Четох някаква статия за nginx като заместител на апачи. Също опън соурс и много по-бърз и по-малко рам харчи (поне така пишеше в статията). Някой ползвал е такова животно и за какви страници и какви апликации (php/java)?
 
Re: Някой ползвал ли е nginx?

Благодаря за думата Васко, ще се опитам да бъда ясен.

Основната разлика м/у nginx и апаха е, че първия е event-based, а втория process-based. При nginx това оказва влияние по начина по който се третират самите заявки към сървъра. Тоест при голям обем от заявки, nginx се справя доста по-добре и по-бързо от апаха. Нещо, което мога да определя, като - е, че конфигурационния файл става обемен, когато човек реши да пише правила. Правилата, които по принцип са в .htaccess, при nginx са в самия конфигурационен файл и по-конкретно в самия виртуален хост. Самия http сървър се справя изключително добре със статично (imgs, css и html) съдържание!

По самия въпрос може много да се изпише, но според мен, ако тестваш и се убедиш сам ще бъде по-рационално, а аз за съжаление нямам възможност в момента да ти предоставя тестове и статистики. (Прави ли сме такива и ще видя в последствие дали ги имам запазени.)

Другото което искам да ти споделя е, че можеш да ползваш Apache и nginx едновременно, като nginx се ползва за "reverse proxy". Така се запазват правилата от .htaccess, можеш да зададеш на nginx какво точно да кешира от съдържанието (примерно css/imgs) ти и това да ускори значително работата на самия уеб сървър. Като reverse proxy, можеш да избираш точно кои заявки да преминават през frontenda(nginx-a). При нас в Jump.bg е точно така, само статичния content преминава през nginx.

М/у другото, много големи сайтове у нас ползват именно nginx, ето няколко за пример - gepime, grabo mobile.bg..

Ако трябва да бъда кратък бих отговорил така:
1. Използва ли по-малко рам? - Да!
2. По бърз ли е от Apache? - Да!

Относно апликациите не мога да взема сериозно отношение, просто защото нямам нужните познания. Може да се видят от самите сайтове, които описах по-горе, както и хостнатите при нас.

Успех, надявам се да съм бил полезен! :)
 
За: Някой ползвал ли е nginx?

За: Някой ползвал ли е nginx?

При правилна конфигурация няма почти никаква разлика между апаха и nginx, и lighttpd.

Разликата е, че default конфигурацията на апаха е такава, че да обслужва знайните не незнайни прищявки на кого ли не, който го мързи да бутне две реда в .conf, докато последните две са така конфигурирани, че без да буташ из конфигурацията им друго освен статични файлове не може да сервираш.

Защо нито nginx, нито lighttpd няма native поддръжка на .htacess файлове? Щото е бавно! Ама ни кефи да си го ползваме! И като е толкова як тоя nginx, що е апача отзад?;)

Идеята ми е, че говорите за танк и за кола - няма как да ги сравните. Едното в за в града, а другото за бойното поле.

Няма как да просъществува споделен хостинг само с nginx при положение, че потребителите реват за функционалносите на apache и ако покриеш тези функционалности с алтернативен уеб сървър пак се стига до същите "слаби" резултати на апаха.
 
Re: Някой ползвал ли е nginx?

Не видях Никола да е споделил на какво ще го ползва, но аз дадох втори пример със споделен хостинг, защото това е от практиката ми. Апаха е от зад именно защото трябва да се покрият стандартните функционалности, които се очакват от един споделен хостинг. В последното си твърдение обаче грешиш.

Разликите са огромни, а резултатите печеливши! (Примерно при продуктивна машина с 700/900 акаунта :) )
 
За: Re: Някой ползвал ли е nginx?

За: Re: Някой ползвал ли е nginx?

В последното си твърдение обаче грешиш.

Подкарвал си nginx с цялата функционалност, която предоставят всичките 60+ default модул на апаха?
 
Re: За: Re: Някой ползвал ли е nginx?

Re: За: Re: Някой ползвал ли е nginx?

Подкарвал си nginx с цялата функционалност, която предоставят всичките 60+ default модул на апаха?

Няма как да стане тази магия :D

Тук май се получи леко разминаване, mlazarov ти адресираш ситуация в която се използва единствено и само Nginx за уеб сервизиране ( или се бъркам ) ? , докато Алекс адресира ситуация в която Nginx се изпозва като ( reverse proxy ) пред Apache и някак си не са сравними двата случая.

Mlazarov, иначе ти всичките 60+ модула ли ползваш защото аз някак си повече от 25-30 никога не съм имал нужда от повече освен при проксиране към друг уеб сървър или по специфична ситуация.
 
За: Някой ползвал ли е nginx?

За: Някой ползвал ли е nginx?

bbozhev, имам предвид, че орязан апах е почти също толкова добър, както и default nginx, но default nginx не предоставя и една 20 от функционалността на default инсталация на apache :) Иначе да - при мен има заредни 60+ модула. Всеки един от тях е бил добавен заради желание на клиент за някаква функционалност. Може би колегите, които предлагат споделен хостинг ще кажат колко модула има заредени при тях?:)

И пак казвам, че не е коректно да се сравянват двете при положение, че трудно могат да се поставят при еднакви условия. Както Alex каза хибридни изпълнения с nginx/lighttpd + apache са най-добри и най-масово използвани за да се постигне функционалност и бързина.

nginx = бързина
apache = функционалност

apache с орязана функциоланост ~= nginx
 
Re: Някой ползвал ли е nginx?

Има ситуации в които nginx прави прекалено много заявки като реверс прокси към апача... и точно в тези случаи апача почва да издава багажа. Варианта да се ползва само nginx, без апач, за много натоварени сайтове е по-добър. Конфигурацията обаче трябва да е по-изпипана.
 
Re: Някой ползвал ли е nginx?

Колкото и да се напъваш да конфигурираш и да правиш какви ли не гимнастики все ще дойде момента в който неможеш да поемеш заявките на една машина. Въпроса е дали ще се мъчиш дълго време или ще почнеш да разтоварваш като пускаш в началото отделни било то виртуалки за снимките и другите неща после да разпределяш заявките на различни машини и етц. Просто трябва да се намери границата в която ще се разшириш а не да се мъчиш да оптимизираш и да изстискваш максимума (след границите на разумното и доброто оптимизиране)
 
Re: Някой ползвал ли е nginx?

Има ситуации в които nginx прави прекалено много заявки като реверс прокси към апача... и точно в тези случаи апача почва да издава багажа. Варианта да се ползва само nginx, без апач, за много натоварени сайтове е по-добър. Конфигурацията обаче трябва да е по-изпипана.

Никога до момента не съм виждал Nginx да прави прекалено много заявки към Apache в reverse proxy режиш, като изключим ситуации като следните който намесват фактори различни от нормалните:

* Flood към apache на алтернативният порт който очевидно не е защитен
* Ръчно направена , НО неправилна конфигурация на Nginx или Apache конфигурацията
* Инсталация според нечии заръки ( how to ) която води до безмислени резултати

Като това го казвам на базата на сървър който се е използвал и все още се използва за споделен хостинг повече от 1 година с над 40 клиента на него и контролен панел, както и сървър за споделен хостинг без контролен панел с 100+ клиента който до ден днешен работи през последните 9 месеца без такива проблеми.

А в момента в който се приложи логиката която си описал, се губи функционалността която се опитваш да предоставиш на клиента, и честно казано за сървър на който има сайтове менажирани от много различни хора няма как да се използва само Nginx освен ако всичките нямат достъп с root , за да може всеки да си променя конфигурацията както му скимне. Или поне се изисква ниво на автоматизация на Nginx което аз лично до момента не съм виждал.
 
За: Някой ползвал ли е nginx?

За: Някой ползвал ли е nginx?

и аз ще си кажа мнението че много неща прочетох нагоре и с доста от тях не съм съгласен. Например орязан апах е почти също толкова добър, както и default nginx. Айде бе, дори и при това сравнение пробвай да връщаш само статични файлове и да видим. А ако в тази ситуация не използваш default nginx ами леко пооправен разликата е огромна

когато nginx се използва като reverse proxy първо обслужва статичните файлове по-бързо, второ приема заявките от клиентския браузър и препраща само тези които трябва към apache , след което apache връща резултата към nginx и приключва процеса. разликата идва от това че apache не държи работещ процес докато приеме и върне заявката към браузъра което е доста по-бавно от това да върне заявка към локалния(?) nginx след което той кога ще я връща на браузъра си е негова работа. иначе казано процесите на apache работят за много по-малко време от което като цяло следва ненатрупване на процеси за работа а от там следва по-малко натоварване на хоста и естествено обработка на повече заявки при същия хардуер

от къде знам ли? ами не е щото съм го сънувал снощи
 
Re: За: Някой ползвал ли е nginx?

Re: За: Някой ползвал ли е nginx?

и аз ще си кажа мнението че много неща прочетох нагоре и с доста от тях не съм съгласен. Например орязан апах е почти също толкова добър, както и default nginx. Айде бе, дори и при това сравнение пробвай да връщаш само статични файлове и да видим. А ако в тази ситуация не използваш default nginx ами леко пооправен разликата е огромна

когато nginx се използва като reverse proxy първо обслужва статичните файлове по-бързо, второ приема заявките от клиентския браузър и препраща само тези които трябва към apache , след което apache връща резултата към nginx и приключва процеса. разликата идва от това че apache не държи работещ процес докато приеме и върне заявката към браузъра което е доста по-бавно от това да върне заявка към локалния(?) nginx след което той кога ще я връща на браузъра си е негова работа. иначе казано процесите на apache работят за много по-малко време от което като цяло следва ненатрупване на процеси за работа а от там следва по-малко натоварване на хоста и естествено обработка на повече заявки при същия хардуер

от къде знам ли? ами не е щото съм го сънувал снощи

:party:
 
За: Някой ползвал ли е nginx?

За: Някой ползвал ли е nginx?

Може ли да се конфигурира apache-то да работи заедно с nginx ?
 
Re: За: Някой ползвал ли е nginx?

Re: За: Някой ползвал ли е nginx?

Може ли да се конфигурира apache-то да работи заедно с nginx ?

Nginx reverse proxy настройката която споменах по-горе означава точно това Nginx-a се пуска на 80-ти порт пред Apache a самото то на някой друг порт ( 8081, 8082 , 8083 и т.н.т ) . Като Nginx предава към Apache филтрирано според настройките съдържание , и по този начин се кешира много добре статично съдържание.
 
За: Re: За: Някой ползвал ли е nginx?

За: Re: За: Някой ползвал ли е nginx?

Някак не ми е ясно спор ли се води тук или не. PHP работи с nginx перфектно. Всички други apache функционалности ....
1 nginx server = 200 apache2 server-a !
1nginx server+добре направен cache = 2000 конкурентни usera. С apache това няма постигане даже и с кеш защото apache просто няма да успее да върне 2000 .html файла едновременно. Igor Sisoev = можещ човек.
Шарени сайтове много - интересни и полезни липсват!
Nginx за прокси - може ако php не стига.
Nginx за хостинг - защо не. Не всички харесват да имат климатик в колата, някой обичат да карат с 300 коня повече под капака.
 

Горе