Эта статья будет весьма лаконична, так как в ней будет речь лишь об установке ПО, такого как nginx. По факту это одна команда, а сам nginx применяется для создания виртуального хоста. Сам по себе виртуальный хост — это разделение адресного пространства web-сервера, например, по имени сайта, позволяющее запускать несколько web-сайтов/приложений на одном физическом сервере.
 Так вот, если вам нужен этот самый виртуальный хост, то и без nginx не обойтись.

 

Сама установка выполняется через PuTTy, хотя современные платформы думаю поддерживают такую установку и через ISP панель. В случае же установки через PuTTy нам необходимо набрать следующую команду.

sudo apt-get install -y nginx
или просто 
apt-get install -y nginx

Само собой надо предварительно зайти на сервер с полными правами для установки, набрав пароль.

Собственно после этого можно настраивать nginx.

При использовании PHP как модуля Apache, Nginx используется в качестве фронтенда, то есть используется связка Nginx + Apache2. В которой Nginx отвечает за обработку статического контента, а Apache2 за обработку PHP.

Настройка nginx

 Сама настройка nginx в первую очередь подразумевает настройку директивами, указанными в конфигурационном файле nginx.conf (путь - /etc/nginx) . Директивы делятся на простые и блочные. Простая директива состоит из имени и параметров, разделённых пробелами, и оканчивается точкой с запятой (;). Блочная директива устроена так же, как и простая директива, но вместо точки с запятой после имени и параметров следует набор дополнительных инструкций, помещённых внутри фигурных скобок ({ и }). Если у блочной директивы внутри фигурных скобок можно задавать другие директивы, то она называется контекстом (примеры: events, http, server и location).

Мой пример такого файла

Ну и после внесения изменений в файл не забываем перезапустить сервер, дабы он стал работать с новыми настройками. 

 В последствии при нагрузке сервера выяснилось, что время от времени всплывает 500 ошибка, пришлось немного откорректировать файл, поставив увеличенное количество пользователей worker_connections  4096 и прописав worker_rlimit_nofile 16384.

* worker_rlimit_nofile. Данная директива указывает сколько файловых дескрипторов будет использовать Nginx. На каждое соединение надо выделять по два дексриптора, даже для статических файлов (картинки/JS/CSS): один для соединения с клиентом, а второй — для открытия статического файла. Таким образом, значение worker_rlimit_nofile по идее должно быть равным удвоенному значению Max Clients. (путь /etc/security/limits.conf).

 

В итоге получился следующий файл