Как установить Nginx на Ubuntu 16.04
Введение
Nginx является одним из самых популярных веб-серверов в мире и отвечает за размещение некоторых из крупнейших сайтов с самым высоким трафиком в Интернете. В большинстве случаев он более ресурсоемкий, чем Apache, и может использоваться в качестве веб-сервера или обратного прокси-сервера.
В этом руководстве мы обсудим, как установить Nginx на ваш сервер Ubuntu 16.04.
Предпосылки
Прежде чем приступить к работе с этим руководством, на вашем сервере должен быть настроен обычный пользователь без полномочий root с привилегиями sudo
. Вы можете узнать, как настроить учетную запись обычного пользователя, следуя нашему руководству по начальной настройке сервера для 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-адрес вашего сервера.
Если у вас не настроено доменное имя для вашего сервера, вы можете узнать, как настроить домен с помощью 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, чтобы показать вам, что сервер работает правильно.
Шаг 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/
: каталог, в котором хранятся включенные серверные блоки для каждого сайта. Обычно они создаются путем ссылки на файлы конфигурации, найденные вкаталог доступных сайтов
./etc/nginx/snippets
: этот каталог содержит фрагменты конфигурации, которые можно включить в другое место в конфигурации Nginx. Потенциально повторяющиеся сегменты конфигурации являются хорошими кандидатами на преобразование в фрагменты.
Журналы сервера
/var/log/nginx/access.log
: каждый запрос к вашему веб-серверу записывается в этот файл журнала, если Nginx не настроен иначе./var/log/nginx/error.log
: все ошибки Nginx будут записываться в этот журнал.
Заключение
Теперь, когда у вас установлен веб-сервер, у вас есть множество вариантов типа контента для обслуживания и технологий, которые вы хотите использовать для создания более богатого опыта.
Узнайте, как настроить стек LEMP в Ubuntu 16.04.