Установка Nginx

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

Для начала обновим все пакеты Ubuntu, а после чего установим nginx. Для этого открываем терминал и выполняем две команды:

sudo apt-get update
sudo apt-get install nginx

После обновления пакетов Ubuntu, устанавливаем Nginx и необходимые зависимости для сервера.

Настройка Firewall

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

Посмотрим список приложений которые знает UFW, с помощью команды:

sudo ufw app list

После выполнения команды, вы получите список профилей приложений зарегистрированных в UFW:

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

В ответ вы увидите разрешенный HTTP трафик:

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

Проверяем Web Server

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

systemctl status nginx

В ответ вы должны получит что-то похожее на:

* nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2016-10-06 9:01:00 EDT; 2min 6s ago
 Main PID: 12857 (nginx)
   CGroup: /system.slice/nginx.service
           ├─12857 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
           └─12858 nginx: worker process

Из ответа видно, что Nginx успешно запущен. Но лучшим способом проверить - это запросить страницу от самого Nginx.

Получим доступ к целевой странице Nginx через имя домена сервера или его IP-адрес.

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

Вводим в терминале следующую команду:

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

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

Второй способ. Введите команду которая должна отдать дать публичный IP-адрес, который получен из Интернета:

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

Итак вводим домен или IP-адрес сервера в адресную строку браузера:

http://server.ip.or.domain.name

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


Эта страница отдается Nginx, и говорит нам о том, что сервер работает правильно.

Управление Nginx

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

Остановить веб-сервер Nginx:

sudo systemctl stop nginx

Запустить веб-сервер Nginx:

sudo systemctl start nginx

Перезапустить веб-сервер Nginx:

sudo systemctl restart nginx

Перезапустить веб-сервер Nginx без потери соединения с ним:

sudo systemctl reload nginx

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

sudo systemctl disable nginx

Вернуть все как было и запускать Nginx при старте сервера:

sudo systemctl enable nginx

На этом все, приятной работы с веб сервером Nginx.