Как установить Nginx на Ubuntu 16.04

2 комментария

Введение

Nginx является одним из самых популярных веб-серверов в мире, его используют многие крупные сайты, которые посещает большое количество пользователей каждый день. Во многих отношениях Nginx является более безопасным и удобным вер-сервером, чем Apache, поэтому его можно использовать в качестве основного веб-сервера либо обратного прокси-сервера.

Из данного руководства вы узнаете о том, как правильно установить Nginx на Ubuntu 16.04, релиз которой состоялся в апреле 2016 года.

Требования

Перед тем, как приступить к установке, вы должны убедиться, что у вас есть обычный пользователь (не суперпользователь), который может выполнять команды sudo. Как только вы создадите такой аккаунт, авторизуйтесь в качестве этого пользователя перед выполнением дальнейших шагов.

Шаг 1: устанавливаем Nginx

Так как Nginx доступен в стандартных репозиториях Ubuntu, установить его достаточно просто.

В данной сессии мы еще не обращались к системе пакетов apt, поэтому для начала вам нужно обновить локальный индекс пакетов. Таким образом вы получите доступ к самым последним (новым) спискам пакетов:

$ sudo apt-get update

И лишь после этого устанавливайте Nginx:

$ sudo apt-get install nginx

После выполнения данной команды apt-get установит Nginx и все необходимые зависимости на ваш сервер.

Шаг 2: Настраиваем Firewall

Перед тем, как начать тестирование Nginx, необходимо перенастроить Firewall для того, чтобы обеспечить доступ к приложению. Nginx регистрируется как приложение с профилем ufw, поэтому разрешить доступ Nginx достаточно легко.

Для начала нам нужно вывести список названий всех приложений с профилем ufw:

$ sudo ufw app list

Вы увидите такой список:

Output
Available applications:
 Nginx Full
 Nginx HTTP
 Nginx HTTPS
 OpenSSH

Как вы видите, существует три возможных профиля для Nginx:

Nginx Full: профиль открывает два порта – 80 (обычный, незашифрованный веб-трафик) и 443 (TLS/SSL зашифрованный трафик)
Nginx HTTP: профиль открывает только порт 80
Nginx HTTPS: профиль открывает только порт 443

Рекомендуется включать наиболее ограниченный профиль, который позволит пропускать только тот трафик, который вы настроили. Так как на данный момент SSL-протокол еще не настроен, нам нужно открыть только порт 80 для обычного трафика.

Для этого введите команду:

$ sudo ufw allow 'Nginx HTTP'

И подтвердите изменения:

$ sudo ufw status

Вы увидите следующие данные, касающиеся разрешенного трафика:

Output
Status: active

To Action From
-- ------ ----
OpenSSH ALLOW Anywhere 
Nginx HTTP ALLOW Anywhere 
OpenSSH (v6) ALLOW Anywhere (v6) 
Nginx HTTP (v6) ALLOW Anywhere (v6)

Шаг 3: проверяем веб-сервер

В самом конце процесса установки Ubuntu 16.04 запустит Nginx. Веб-сервер уже должен работать.
Используя демон systemd, вы можете проверить, запущен ли веб-сервер:

$ systemctl status nginx

Вам высветится информация, где особое внимание нужно уделить строчке:

Active: active (running) since Mon 2016-04-25 15:44:00 UTC; 5min 9s ago

Благодаря этим данным вы можете убедиться, что все работает исправно. Однако лучший способ протестировать работу Nginx – это запросить какую-либо страницу.

К примеру, можно попробовать загрузить стандартную посадочную страницу Nginx, используя ваше доменное имя сервера или IP-адрес.

Если у вашего сервера нет доменного имени, и вы не хотите его устанавливать, вы можете использовать публичный IP-адрес вашего сервера. Получить его можно несколькими путями.
Введите следующую команду в командную строку вашего сервера:

$ ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

В ответ вы увидите несколько строчек – введите каждую из них в адресную строку своего браузера, чтобы проверить, какая из них работает.

Альтернативный способ узнать ваш публичный IP-адрес – использовать служебную программу cURL:

$ sudo apt-get install curl
$ curl -4 icanhazip.com

Когда вы получили свой IP-адрес или доменное имя, введите его в адресную строку браузера:

http://доменное_имя_или_IP-адрес

Вам должна высветиться приветственная страница Nginx:

Как установить Nginx на Ubuntu 16.04Эта страница просто показывает вам, что сервер работает правильно.

Шаг 4: изучаем команды для управления Nginx

Теперь, когда веб-сервер запущен и работает, вы можете использовать следующие команды для управления Nginx.

Команда для остановки веб-сервера:

$ sudo systemctl stop nginx

Команда для запуска веб-сервера после того, как он был остановлен:

$ sudo systemctl start nginx

Команда для перезапуска (остановки и запуска) веб-сервера:

$ sudo systemctl restart nginx

Если вам необходимо, чтобы какие-то изменения вступили в силу, вы можете перезагружать Nginx без прерывания подключений. Для этого используйте следующую команду:

$ sudo systemctl reload nginx

По умолчанию Nginx запускается всегда, когда начинает работать сервер. Если вас не устраивает такое положение дел, вы можете отключить эту настройку следующей командой:

$ sudo systemctl disable nginx

Включить настройку автоматического запуска Nginx вместе с сервером можно так:

$ sudo systemctl enable nginx

Шаг 5: знакомимся с важными файлами и директориями Nginx

Теперь следует перейти к последнему шагу, который посвящен ознакомлению с некоторыми важными файлами и директориями Nginx.

Содержание

  • /var/www/html: фактический веб-контент, который по умолчанию состоит только из приветственной страницы Nginx (вы видели ее ранее), находится в директории /var/www/html. Вы можете поменять это, изменив конфигурационные файлы Nginx.

Конфигурация сервера

  • /etc/nginx: конфигурационная директория Nginx. Все файлы настроек Nginx находятся именно здесь.
  • /etc/nginx/nginx.conf: основной конфигурационный файл Nginx. Используйте его, если хотите внести какие-либо изменения в общую конфигурацию Nginx.
  • /etc/nginx/sites-available: в этой директории хранятся все серверные файлы для каждого сайта. Nginx не будет использовать конфигурационные файлы в этой директории до тех пор, пока они не связаны с директорией включенных сайтов (ее адрес ниже). Иными словами, в этой директории хранятся и изменяются все серверные настройки, которые вы можете включить, связав с другой директорией.
  • /etc/nginx/sites-enabled/: эта директория, где находятся все включенные серверные файлы для каждого сайта. Обычно они создаются тогда, когда создается связь с конфигурационными файлами, которые находятся в директории sites-available.
  • /etc/nginx/snippets: эта директория содержит конфигурационные фрагменты, которые могут быть включены в конфигурацию Nginx. Например, сюда можно добавить повторяемые конфигурационные сегменты.

Журнал сервера

  • /var/log/nginx/access.log: в этом файле записываются все запросы к вашему веб-серверу (до тех пор, пока вы не измените это в настройках).
  • /var/log/nginx/error.log: в этом файле записываются все ошибки Nginx.

Заключение

Теперь, когда веб-сервер установлен, у вас есть широкий выбор технологий, которые вы можете использовать для создания своего интернет-приложения.

VPS/VDS

Комментарии

Егор Трегубенко 0
26 ноя в 2016
Добрый день, развернул вдс (ubuntu 16.3) прописываю у себя в консоли :

sudo ufw allow 'Nginx HTTP'

далее

sudo ufw status

но статус пишет как неактивный
почему?
Свернуть ответы
Лавр Иванов +17
30 ноя в 2016
Есть такое. При этом, если по инструкции пройдете далее, при обращении к IPv4 адресу через браузер доступ должен присутствовать, индексный файл откроется успешно.