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

Вступление

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

В этом руководстве мы обсудим, как установить Nginx на ваш сервер Ubuntu 16.04.

Предпосылки

Прежде чем приступить к работе с этим руководством, у вас должен быть обычный пользователь без полномочий root с привилегиямиsudo, настроенными на вашем сервере. Вы можете узнать, как настроить учетную запись обычного пользователя, следуя нашимinitial server setup guide for Ubuntu 16.04.

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

Шаг 1: Установите Nginx

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

Поскольку это наше первое взаимодействие с системой упаковкиapt в этом сеансе, мы обновим наш локальный индекс пакета, чтобы у нас был доступ к самым последним спискам пакетов. После этого мы можем установитьnginx:

sudo apt-get update
sudo apt-get install nginx

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

Шаг 2: Настройте брандмауэр

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

Мы можем перечислить конфигурации приложений, с которыми умеет работатьufw, набрав:

sudo ufw app list

Вы должны получить список профилей приложения:

OutputAvailable applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

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

  • Nginx Full: этот профиль открывает порт 80 (обычный, незашифрованный веб-трафик) и порт 443 (трафик с шифрованием TLS / SSL).

  • Nginx HTTP: этот профиль открывает только порт 80 (обычный, незашифрованный веб-трафик)

  • Nginx HTTPS: этот профиль открывает только порт 443 (зашифрованный трафик TLS / SSL)

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

Вы можете включить это, набрав:

sudo ufw allow 'Nginx HTTP'

Вы можете проверить изменение, набрав:

sudo ufw status

Вы должны увидеть разрешенный HTTP-трафик в отображаемом выводе:

OutputStatus: 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
Output● 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 Mon 2016-04-18 16:14:00 EDT; 4min 2s 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 по умолчанию, чтобы убедиться, что программное обеспечение работает правильно. Вы можете получить к нему доступ через доменное имя или IP-адрес вашего сервера.

Если у вас не настроено доменное имя для вашего сервера, вы можете узнатьhow to set up a domain with DigitalOcean здесь.

Если вы не хотите устанавливать доменное имя для своего сервера, вы можете использовать публичный 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_domain_or_IP

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

Nginx default page

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

Шаг 4: Управление процессом Nginx

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

Чтобы остановить ваш веб-сервер, вы можете набрать:

sudo systemctl stop nginx

Чтобы запустить веб-сервер, когда он остановлен, введите:

sudo systemctl start nginx

Чтобы остановить и снова запустить службу, введите:

sudo systemctl restart nginx

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

sudo systemctl reload nginx

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

sudo systemctl disable nginx

Чтобы снова включить службу при загрузке, вы можете набрать:

sudo systemctl enable nginx

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

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

содержание

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

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

  • /etc/nginx: каталог конфигурации Nginx. Все конфигурационные файлы Nginx находятся здесь.

  • /etc/nginx/nginx.conf: основной файл конфигурации Nginx. Это можно изменить, чтобы внести изменения в глобальную конфигурацию Nginx.

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

  • /etc/nginx/sites-enabled/: каталог, в котором хранятся разрешенные для каждого сайта «серверные блоки». Обычно они создаются путем ссылки на файлы конфигурации, находящиеся в каталогеsites-available.

  • /etc/nginx/snippets: этот каталог содержит фрагменты конфигурации, которые могут быть включены в другое место в конфигурации Nginx. Потенциально повторяемые сегменты конфигурации являются хорошими кандидатами для рефакторинга в фрагменты.

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

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

  • /var/log/nginx/error.log: любые ошибки Nginx будут записаны в этот журнал.

Заключение

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

Выучитеhow to use Nginx server blocks здесь. Если вы хотите создать более полный стек приложений, ознакомьтесь с этой статьей оhow to configure a LEMP stack on Ubuntu 16.04.

Related