Lighttpd - боецът в света на уеб сървърите
Когато използвах VPS сървър с голямо ограничение на паметта, имах въпрос - кой уеб сървър да използвам? Apache изчезна веднага, тъй като консумира много памет дори за един ресурс. Опитах вътрешното развитие на nginx, много по-добро, но настройката се оказа нетривиална, трябваше да копая в Интернет, за да реша доста прости задачи. И от паметта, въпреки че nginx консумира много по-малко от apache, но както се оказа, има много по-добро решение.
Честно казано, малко съм хитър, като казвам, че започнах тестовете си с apache и след това преминах към nginx. Разбира се, не беше. Още преди да поръчам VPS сървър, знаех, че ще използвам lighttpd, но трябваше да тествам и други услуги. Което точно направих. Но вече след като тествах щателно lighttpd ...
Когато се използва при сериозни ограничения на паметта, lighttpd се представи добре. Консумираше около 5-8 мегабайта памет за всички домейни, които бяха конфигурирани за него. За разлика от nginx, чийто процес зае повече от 30 мегабайта памет. Apache при същите условия погълна цялата налична памет. И в същото време настройването на lighttpd е толкова тривиално, че човек не може да спре дотук. Но искам да покажа колко е лесно.
Основната част от VPS сървърите използват Debian, така че ще разгледам тази конкретна операционна система. Настройката на други операционни системи е малко по-различна.
Ако VPS сървърът е поръчан с инсталиран Apache, той трябва да бъде деактивиран и премахнат от стартиране:
Сега можете да започнете да инсталирате олекотен уеб сървър:
Отсега нататък lighttpd вече ще работи на сървъра, остава да го конфигурирате. Нека анализираме възможността за използване на PHP и MySQL науеб сървър. За да направите това, ако не е направено преди, инсталирайте необходимите пакети:
Когато инсталирате mysql сървъра, ще бъдете помолени за парола за достъп до сървъра. Не забравяйте да го зададете, в противен случай сървърът на базата данни ще бъде изложен на интернет. Сега всичко, което трябва да направите, е да активирате модула fastcgi в lighttpd:
Използва се командата lighttpd-enable-mod, ако я стартирате без параметри, както е показано в примера, ще се изведат имената на всички налични модули и ще бъде предложено да активирате необходимите. Можете да спестите малко време, ако веднага зададете командата с параметър под формата на името на модула, който искате да активирате:
След като изпълните тази команда, ще трябва да рестартирате уеб сървъра:
Сега нашият уеб сървър може да работи с PHP скриптове. Да проверим. За целта в корена на нашия сайт (по подразбиране всички сайтове се намират в /var/www/) създаваме файл info.php със следното съдържание:
Командата lighttpd-disable-mod се използва за деактивиране на модул.
След рестартиране на уеб сървъра, няколко php-cgi процеса ще висят в паметта, всеки от които отнема около 30 мегабайта (след оптимизиране на използването на RAM стека). Броят на процесите директно зависи от стойността на променливата max-procs, зададена във файла /etc/lighttpd/conf-available/10-fastcgi.conf, минималната стойност е един (1) и ще се използват 2 php-cgi процеса.
По подразбиране fastcgi е конфигуриран да обработва .php файлове. Ако искате да използвате perl, python или ruby, трябва да промените файла /etc/lighttpd/conf-available/10-fastcgi.conf. Например, ако трябва да деактивирате обработката на php файлове и да активирате python да използва django, ние го пренасяме в този формуляр:
Няма да се спирам на подробностите за настройката на различни двигатели. Ще отида направолесно използване на виртуални хостове. В същия apache, за да използвате виртуални хостове, трябва да променяте конфигурацията на сървъра всеки път и да го рестартирате. Lighttpd има отделен модул, който трябва да се активира, конфигурира, след което могат да се организират виртуални хостове чрез просто създаване на директории. Започнете:
И проверете стойностите на променливите simple-vhost.server-root и simple-vhost.document-root:
В този случай всички виртуални хостове ще се намират в директорията /var/www и всеки виртуален хост съдържа html папка, в която се намират самите файлове. Сега активираме модула за виртуален хост:
И след като рестартираме уеб сървъра, започваме да създаваме виртуални хостове:
И започваме да попълваме съдържанието на нашите два новоорганизирани сайта test1 и test2. Естествено, за да работи всичко, тези имена на домейни трябва да бъдат регистрирани. Веднага след създаването на тези директории и създаването на необходимите файлове в html директориите, сайтовете ще заработят. Сега не е необходимо да рестартирате уеб сървъра, за да организирате нов сайт.
Както можете да видите, уеб сървърът е най-лекият от всички съществуващи решения, които са налични днес. В същото време се настройва много лесно. Всичко е тривиално и много просто!