Nginx установка. Настройка виртуальных хостов

Автор: | 08.04.2019

Для начала установим веб-сервер, но перед этим посмотрим информацию об устанавливаемом пакете (не обязательно):

  • sudo apt-cache show nginx
  • sudo apt-get install nginx

Если вдруг решите удалить nginx, то наберите из консоли:

  • sudo apt-get purge nginx

После установки зайдем на localhost, и если мы вместо стартовой страницы nginx видим приветствие от apache, то в дефолтном конфиге nginx находящемуся по пути:

  • sudo nano /etc/nginx/sites-available/default

нужно просто сменить root директорию на:

  • root /usr/share/nginx/html

Теперь проверим версию установленного веб-сервера и наличие ошибок в конфиге :

  • nginx -v
  • sudo nginx -t

Если ошибок нет, то увидим в консоли примерно следующие:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Создадим виртуальный хост, для этого придумаем ему имя и пропишем его в файле:

  • sudo nano /etc/hosts 

просто добавив строчку нашего виртуального хоста:

127.0.0.1 myvirtualhost

Создадим конфигурационный файл для нашего виртуального хоста:

  • sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/myvirtualhost

Сконфигурируем его так, чтобы он указывал на наш хост:

  • sudo nano /etc/nginx/sites-available/myvirtualhost

введя правки в файл конфигурации, директива root должна указывать на корень нашего хоста, например:

  • root /pathToVirtualhost/myvirtualhost

вместо pathToVirtualhost/myvirtualhost поставьте свои путь до корня хоста, а директива server_name должна содержать имя вашего хоста, прописанное ранее в /etc/hosts, например:

  • server_name myvirtualhost

Дальше нужно создать симлинк на этот файл конфига и перезапустить веб-сервер:

  • sudo ln -s /etc/nginx/sites-available/myvirtualhost /etc/nginx/sites-enabled/myvirtualhost
  • sudo /etc/init.d/nginx restart

Все, можно проверять в браузере. Если вернется ошибка 403 Forbidden, то положите в корень сайта index.html или index.php файл. Или добавьте в конфиг Autoindex:

Вывести список подключенных модулей: