Какой Web-сервер поставить Apache или Nginx ?


Метки: | | |
Просмотров: 12129

Apache или Nginx

Сегодня вряд ли найдется хоть один веб-программист, который не слышал бы об Apache. Apache – это уникальный и, в то же время, революционный бесплатный веб-сервер, который сделал Глобальную сеть такой, какая она есть сейчас. Совместно с MySQL, Linux и Php этот сервер входит в LAMP стек. На сегодняшний день из-за своей тяжести MySQL быстро теряет позиции в качестве базы данных для крупных порталов. Apache «легким» тоже не назовешь, поэтому быструю популярность набирает компактный веб-сервер Nginx. В стандартном варианте он не уступает Apache по функциональности. Для установки необходимо его наличие в менеджере пакетов и подключенный EPEL-репозиторий. В Debian дистрибутивах инсталляция Nginx запускается при помощи команды в консоли

sudo apt-get install nginx

Если у вас не установлен какой-либо другой веб-сервер на 80 порту, то набрав в адресной строке «localhost», вы перейдете на начальную страницу Nginx. Настроечный файл сервера находится в директории /etc/nginx/sites-enabled и называется default. Изменить его можно при помощи любого текстового редактора. Для замены порта, например, на 8080 необходимо изменить строки:

listen 80
listen [::]:80 default_server ipv6only=on;

на

listen 8080
listen [::]:8080 default_server ipv6only=on;

и перезапустить сервер:

sudo nginx –s quit
sudo nginx

После этим манипуляций сервер будет доступен по адресу localhost:8080. По умолчанию каталог для веб-приложения размещается в /usr/share/nginx/html. Здесь должны размещаться ваши HTML-файлы. Nginx отличается большей скоростью и «легкостью», но все это достигается благодаря урезанию различного функционала из-за которых Apache сервер как раз и «тяжелее» конкурента.

Одним из преимуществ Nginx является то, что при необходимости, он может сыграть роль обратного прокси-сервера. Прокси – это сервер, который размещается посередине Глобальной сети и основного сервера и кэширует наиболее популярные запросы и статический контент (изображения, скрипты и прочее). То есть для оптимизации нагрузки и ресурсов, на Nginx можно взвалить массу легкой работы, а тяжеловес, например, тот же самый Apache, будет использоваться только при крайней необходимости.

В принципе, если у вас уже стоит Apache, то вы можете запустить его на 8000 порту командой

python –m SimpleHTTPServer 8000

Чтобы настроить обратный прокси, внутрь блока server{…} файла настроек необходимо добавить:

location/myapp/{
 
	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_pass http://localhost:8000/;
 
}

И если теперь открыть страницу по адресу http://localhost:8080/myapp, то Nginx перенаправит запрос на localhost:8000. Используя данный принцип связки серверов, можно распределить всю нагрузку на несколько серверов.

Комментариев: 2 RSS

Что за бред про SimpleHTTPServer?

Эта прога на питоне никак не связана с apache и, в отличии от apache, функционал SimpleHTTPServer ограничивается лишь ответом на GET запросы..

Оставьте комментарий!

Комментарий будет опубликован после проверки

Имя и сайт используются только при регистрации

(обязательно)