Как переустановить nginx ubuntu

Обновлено: 21.11.2024

Установите NGINX с открытым исходным кодом либо в виде готового пакета, либо из исходного кода, следуя пошаговым инструкциям для всех поддерживаемых дистрибутивов Linux.

В этой статье объясняется, как установить NGINX с открытым исходным кодом.

Выбор между стабильной и основной версией

NGINX с открытым исходным кодом доступен в двух версиях:

  • Основная ветка – содержит новейшие функции и исправления ошибок и всегда актуальна. Он надежен, но может включать некоторые экспериментальные модули, а также может содержать некоторое количество новых ошибок.
  • Стабильная версия: не все новейшие функции, но исправления критических ошибок всегда переносятся в основную версию. Мы рекомендуем стабильную версию для рабочих серверов.

Выбор между готовым пакетом и компиляцией из исходного кода

Как основную, так и стабильную версии NGINX с открытым исходным кодом можно установить двумя способами:

  • Как готовый двоичный пакет. Это быстрый и простой способ установить NGINX с открытым исходным кодом. Пакет включает почти все официальные модули NGINX и доступен для большинства популярных операционных систем. См. раздел Установка предварительно собранного пакета.
  • Как двоичные файлы, которые вы компилируете из исходного кода. Этот способ более гибкий: вы можете добавлять отдельные модули, в том числе сторонние, или устанавливать последние исправления безопасности. Дополнительные сведения см. в разделе Компиляция и установка из исходного кода.

Установка готового пакета

Модули, включенные в готовый пакет

Установка готовых пакетов CentOS и RHEL

NGINX, Inc. предоставляет пакеты для следующих версий CentOS, Oracle Linux и RHEL:

Версия Поддерживаемые платформы
6.x x86_64, i386
7.4+ x86_64, ppc64le
8.x x86_64

Пакет можно установить из:

Установка готового пакета CentOS/RHEL из репозитория ОС

Установите репозиторий EPEL:

Обновите репозиторий:

Установите NGINX с открытым исходным кодом:

Проверьте установку:

Установка готового пакета CentOS/RHEL из официального репозитория NGINX

Настройте репозиторий yum для RHEL или CentOS, создав файл nginx.repo в /etc/yum.repos.d, например, с помощью vi :

Добавьте следующие строки в nginx.repo:

Элемент /mainline в пути указывает на последнюю основную версию NGINX с открытым исходным кодом; удалите его, чтобы получить последнюю стабильную версию

либо rhel, либо centos

это номер версии ( 6 , 6._x_ , 7 , 7._x_ и т. д.)

Например, чтобы получить последний основной пакет для CentOS 7, вставьте:

Сохраните изменения и закройте vi (нажмите ESC и введите wq в строке :).

Обновите репозиторий:

Установите пакет NGINX с открытым исходным кодом:

Запустите NGINX с открытым исходным кодом:

Убедитесь, что NGINX с открытым исходным кодом запущен и работает:

Установка готовых пакетов Debian

NGINX предоставляет пакеты для следующих операционных систем Debian:

Версия Кодовое имя Поддерживаемые платформы
9. x stretch x86_64, i386
10.x buster x86_64, i386

Пакет можно установить из:

Установка готового пакета Debian из репозитория ОС

Обновите информацию о репозитории Debian:

Установите пакет NGINX с открытым исходным кодом:

Проверьте установку:

Установка готового пакета Debian из официального репозитория NGINX

Загрузите ключ, используемый для подписи пакетов NGINX и репозитория, и добавьте его в связку ключей программы apt:

Отредактируйте файл /etc/apt/sources.list, например, с помощью vi :

Добавьте эти строки в sources.list, чтобы назвать репозитории, из которых можно получить NGINX с открытым исходным кодом:

Элемент /mainline в пути указывает на последнюю основную версию NGINX с открытым исходным кодом; удалите его, чтобы получить последнюю стабильную версию

это кодовое название выпуска Debian

Например, чтобы получить последний основной пакет для Debian 8.2 ("jessie"), вставьте:

Сохраните изменения и закройте vi (нажмите ESC и введите wq в строке :).

Установите пакет NGINX:

Запустите NGINX с открытым исходным кодом:

Убедитесь, что NGINX с открытым исходным кодом запущен и работает:

Установка готовых пакетов Ubuntu

NGINX предоставляет пакеты для следующих операционных систем Ubuntu:

Версия Кодовое имя Поддерживаемые платформы
16.04< /td> xenial x86_64, i386, ppc64el, aarch64/arm64
18.04 bionic x86_64, aarch64/arm64
19.10 eoan x86_64
20.04 focal x86_64, aarch64/arm64

Пакет можно установить из:

Установка готового пакета Ubuntu из репозитория Ubuntu

Обновите информацию о репозитории Ubuntu:

Установите пакет:

Проверьте установку:

Установка готового пакета Ubuntu из официального репозитория NGINX

Загрузите ключ, используемый для подписи пакетов NGINX и репозитория, и добавьте его в связку ключей программы apt:

Отредактируйте файл /etc/apt/sources.list, например, с помощью vi :

Добавьте эти строки sources.list, чтобы назвать репозитории, из которых можно получить исходный код NGINX с открытым исходным кодом:

  • Элемент /mainline в пути указывает на последнюю основную версию NGINX с открытым исходным кодом; удалите его, чтобы получить последнюю стабильную версию
  • это кодовое название выпуска Ubuntu

Например, чтобы получить последний основной пакет для Ubuntu 14.04 ("надежный"), добавьте:

Сохраните изменения и закройте vi (нажмите ESC и введите wq в строке :).

Установите NGINX с открытым исходным кодом:

Запустите NGINX с открытым исходным кодом:

Убедитесь, что NGINX с открытым исходным кодом запущен и работает:

Установка пакетов SUSE

NGINX предоставляет пакеты для SUSE Linux Enterprise Server:

Версия Поддерживаемые платформы
SLES 12 x86_64
SLES 15 x86_64

Чтобы загрузить и установить последнюю стабильную версию для SLES 12, выполните:

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

Установка готовых пакетов Alpine Linux

NGINX предоставляет пакеты для следующих операционных систем Alpine Linux:

< /tr>
Версия Поддерживаемые платформы
3.8 x86_64< /td>
3.9 x86_64
3.10 x86_64
3.11 x86_64

Установка готового пакета Alpine Linux из официального репозитория NGINX

Установите необходимые компоненты:

Чтобы настроить репозиторий apk для стабильных пакетов nginx, выполните команду:

Для основных пакетов nginx вместо этого выполните следующую команду:

Импортируйте официальный ключ подписи nginx, чтобы apk мог проверить подлинность пакетов. Получить ключ:

Убедитесь, что загруженный файл содержит правильный ключ:

Вывод должен содержать следующий модуль:

Переместите ключ в хранилище доверенных ключей apk:

Чтобы установить nginx, выполните команду:

Компиляция и установка из исходного кода

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

Установка зависимостей NGINX

Перед компиляцией NGINX с открытым исходным кодом из исходного кода вам необходимо установить библиотеки для его зависимостей:

PCRE — поддерживает регулярные выражения. Требуется для модулей NGINX Core и Rewrite.

zlib — поддерживает сжатие заголовков. Требуется для модуля NGINX Gzip.

Скачивание исходников

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

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

Настройка параметров сборки

Параметры конфигурации задаются с помощью сценария ./configure, который устанавливает различные параметры NGINX, включая пути к исходным файлам и файлам конфигурации, параметры компилятора, методы обработки соединений и список модулей. Сценарий завершается созданием файла Makefile, необходимого для компиляции кода и установки NGINX с открытым исходным кодом.

Пример параметров скрипта configure (следует вводить одной строкой):

Настройка путей NGINX

Сценарий configure позволяет указать пути к двоичным файлам и файлам конфигурации NGINX, а также к зависимым библиотекам, таким как PCRE или SSL, чтобы статически связать их с двоичным файлом NGINX.

Включение модулей, не созданных по умолчанию

Многие модули NGINX не собираются по умолчанию и должны быть указаны в командной строке configure для сборки.

Модули mail, stream, geoip, image_filter, perl и xslt могут быть скомпилированы как динамические. Подробнее см. в разделе Динамические модули.

Пример команды configure, включающей модули не по умолчанию (следует вводить одной строкой):

    • --with-cpp_test_module
    • Проверяет совместимость файлов заголовков с C++.
    • --с-отладкой
    • Включает журнал отладки.

    Включает асинхронный ввод-вывод.

    Динамически связанные модули

    Модули NGINX также можно скомпилировать как общий объект (файл *.so), а затем динамически загрузить в NGINX с открытым исходным кодом во время выполнения.Это обеспечивает большую гибкость, поскольку модуль можно загрузить или выгрузить в любое время, добавив или удалив соответствующую директиву load_module в файле конфигурации NGINX и перезагрузив конфигурацию. Обратите внимание, что сам модуль должен поддерживать динамическую компоновку.

    Чтобы скомпилировать NGINX с открытым исходным кодом с динамически загружаемым сторонним модулем, включите параметр --add-dynamic-module=

    параметр команды configure, где

    это путь к исходному коду:

    Полученные файлы *.so записываются в каталог prefix/modules/, где prefix — это каталог для серверных файлов, таких как /usr/local/nginx. /.

    Чтобы загрузить динамический модуль, добавьте директиву load_module в конфигурацию NGINX после установки:

    Ваша заявка успешно отправлена! Закрыть

    1. Обзор

    В этом руководстве мы установим Nginx и настроим базовый сайт.

    Что вы узнаете

    • Как настроить Nginx
    • Некоторые базовые настройки Nginx

    Что вам понадобится

    • Компьютер с Ubuntu Server 16.04 LTS
    • Некоторые базовые знания об использовании командной строки.

    Автор: Марчин Миколайчак

    2. Установка Nginx

    Чтобы установить Nginx, используйте следующую команду:

    После его установки у вас уже есть все необходимое.

    Вы можете указать в браузере IP-адрес вашего сервера. Вы должны увидеть эту страницу:

    Если вы видите эту страницу, вы успешно установили Nginx на свой веб-сервер.

    3. Создание собственного веб-сайта

    Страница по умолчанию размещается в папке /var/www/html/. Вы можете разместить свои статические страницы здесь или использовать виртуальный хост и разместить их в другом месте.

    Виртуальный хост — это метод размещения нескольких доменных имен на одном сервере.

    Давайте создадим простую HTML-страницу в /var/www/tutorial/ (это может быть что угодно). Создайте файл index.html в этом месте.

    Вставьте в файл index.html следующее:

    Сохраните этот файл. На следующем шаге мы собираемся настроить виртуальный хост, чтобы Nginx использовал страницы из этого местоположения.

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

    Чтобы настроить виртуальный хост, нам нужно создать файл в каталоге /etc/nginx/sites-enabled/.

    Для этого руководства мы сделаем наш сайт доступным через порт 81, а не через стандартный порт 80. Вы можете изменить его, если хотите.

    root — это каталог, в который мы поместили наш файл .html. index используется для указания файла, доступного при посещении корневого каталога сайта. имя_сервера может быть любым, потому что вы пока не указываете его ни на какой настоящий домен.

    5. Активация виртуального хоста и результаты тестирования

    Чтобы наш сайт заработал, просто перезапустите службу Nginx.

    Проверим, все ли работает как надо. Откройте наш только что созданный сайт в веб-браузере. Помните, что мы использовали порт :81.

    Поздравляем! Все работает как надо. Мы только что настроили веб-сервер Nginx.

    6. Вот и все!

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

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

    В этом руководстве вы узнаете, как установить Nginx на сервер Ubuntu 18.04, а также о важных файлах и каталогах Nginx.

    Предпосылки

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

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

    Шаг 1. Установка Nginx

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

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

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

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

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

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

    На выходе должен быть список профилей приложений:

    В этом списке отображаются три профиля, доступные для Nginx:

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

    Вы можете включить это, введя следующее:

    Затем проверьте изменение:

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

    Шаг 3. Проверка веб-сервера

    В конце процесса установки Ubuntu 18.04 запускает Nginx. Веб-сервер уже должен быть запущен.

    Проверьте систему инициализации systemd, чтобы убедиться, что служба запущена:

    Эти выходные данные показывают, что служба успешно запущена. Однако лучший способ проверить это — запросить страницу у Nginx.

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

    Попробуйте ввести в командной строке вашего сервера следующее:

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

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

    Когда у вас есть IP-адрес вашего сервера, введите его в адресную строку браузера:

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

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

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

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

    Чтобы остановить веб-сервер, введите следующее:

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

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

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

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

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

    Nginx теперь должен запускаться автоматически при повторной загрузке сервера.

    Шаг 5. Настройка серверных блоков (рекомендуется)

    При использовании веб-сервера Nginx можно использовать блоки сервера (аналогичные виртуальным хостам в Apache) для инкапсуляции деталей конфигурации и размещения более одного домена с одного сервера. Мы настроим домен под названием your_domain, но вы должны заменить его своим собственным доменным именем. Чтобы узнать больше о настройке доменного имени в DigitalOcean, ознакомьтесь с нашим введением в DigitalOcean DNS.

    В Nginx в Ubuntu 18.04 по умолчанию включен один серверный блок, настроенный на обслуживание документов из каталога /var/www/html . Хотя это хорошо работает для одного сайта, это может стать громоздким, если вы размещаете несколько сайтов. Вместо изменения /var/www/html давайте создадим структуру каталогов внутри /var/www для нашего сайта your_domain, оставив /var/www/html в качестве каталога по умолчанию, который будет обслуживаться, если запрос клиента не соответствует ни одному из них. другие сайты.

    Создайте каталог для your_domain следующим образом, используя флаг -p для создания всех необходимых родительских каталогов:

    Затем назначьте владельца каталога с помощью переменной среды $USER:

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

    Затем создайте образец страницы index.html с помощью nano или вашего любимого редактора:

    Внутри добавьте следующий образец HTML:

    Сохраните и закройте файл, когда закончите. Если вы использовали nano , вы можете выйти, нажав CTRL + X, затем Y и ENTER .

    Чтобы Nginx мог обслуживать этот контент, необходимо создать серверный блок с правильными директивами. Вместо того, чтобы напрямую изменять файл конфигурации по умолчанию, создайте новый в /etc/nginx/sites-available/your_domain :

    Добавьте следующий блок конфигурации, аналогичный блоку по умолчанию, но обновленный для вашего нового каталога и доменного имени:

    Обратите внимание, что мы изменили корневую конфигурацию на новый каталог, а server_name на доменное имя. Сохраните и закройте файл, когда закончите.

    Далее включите файл, создав из него ссылку на каталог sites-enabled, из которого Nginx читает при запуске:

    Два блока server теперь включены и настроены для ответа на запросы на основе их директив listen и server_name (подробнее о том, как Nginx обрабатывает эти директивы, можно прочитать здесь):

    Чтобы избежать возможной проблемы с памятью хэш-контейнера, которая может возникнуть из-за добавления дополнительных имен серверов, необходимо настроить одно значение в файле /etc/nginx/nginx.conf. Откройте файл:

    Сохраните и закройте файл, когда закончите.

    Затем проверьте, чтобы ни в одном из ваших файлов Nginx не было синтаксических ошибок:

    Если проблем нет, перезапустите Nginx, чтобы изменения вступили в силу:

    Шаг 6. Знакомство с важными файлами и каталогами 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/ : каталог, в котором хранятся включенные серверные блоки для каждого сайта. Как правило, они создаются путем ссылки на файлы конфигурации, находящиеся в каталоге, доступном для сайтов.
    • /etc/nginx/snippets : этот каталог содержит фрагменты конфигурации, которые можно включить в другое место в конфигурации Nginx. Потенциально повторяющиеся сегменты конфигурации являются хорошими кандидатами на преобразование в фрагменты.

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

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

    Заключение

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

    Если вы хотите создать более полный стек приложений, ознакомьтесь с этой статьей о том, как настроить стек LEMP в Ubuntu 18.04.

    Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!

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

    Nginx — один из самых популярных веб-серверов в мире. На нем размещаются одни из самых крупных и посещаемых сайтов в Интернете. Это упрощенный вариант, который можно использовать в качестве веб-сервера или обратного прокси-сервера.

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

    Предпосылки

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

    Вы также можете зарегистрировать доменное имя перед выполнением последних шагов этого руководства. Чтобы узнать больше о настройке доменного имени в DigitalOcean, ознакомьтесь с нашим введением в DigitalOcean DNS.

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

    Шаг 1. Установка Nginx

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

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

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

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

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

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

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

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

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

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

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

    Шаг 3. Проверка веб-сервера

    В конце процесса установки Ubuntu 20.04 запускает Nginx. Веб-сервер уже должен быть запущен.

    Мы можем проверить с помощью системы инициализации systemd, чтобы убедиться, что служба запущена, набрав:

    Как подтверждает этот вывод, служба успешно запущена. Однако лучший способ проверить это — запросить страницу у Nginx.

    Когда у вас есть IP-адрес вашего сервера, введите его в адресную строку браузера:

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

    Если вы находитесь на этой странице, ваш сервер работает правильно и готов к управлению.

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

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

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

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

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

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

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

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

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

    Шаг 5. Настройка серверных блоков (рекомендуется)

    При использовании веб-сервера Nginx можно использовать блоки сервера (аналогичные виртуальным хостам в Apache) для инкапсуляции деталей конфигурации и размещения более одного домена с одного сервера. Мы настроим домен под названием your_domain, но вы должны заменить его своим собственным доменным именем.

    В Nginx в Ubuntu 20.04 по умолчанию включен один серверный блок, настроенный для обслуживания документов из каталога /var/www/html . Хотя это хорошо работает для одного сайта, это может стать громоздким, если вы размещаете несколько сайтов. Вместо изменения /var/www/html давайте создадим структуру каталогов внутри /var/www для нашего сайта your_domain, оставив /var/www/html в качестве каталога по умолчанию, который будет обслуживаться, если запрос клиента не соответствует ни одному из них. другие сайты.

    Создайте каталог для your_domain следующим образом, используя флаг -p для создания всех необходимых родительских каталогов:

    Затем назначьте владельца каталога с помощью переменной среды $USER:

    Разрешения ваших корневых веб-сайтов должны быть правильными, если вы не изменили значение umask, которое устанавливает разрешения для файлов по умолчанию. Чтобы убедиться, что ваши разрешения верны и позволить владельцу читать, записывать и выполнять файлы, предоставляя только права на чтение и выполнение группам и другим пользователям, вы можете ввести следующую команду:

    Затем создайте образец страницы index.html с помощью nano или вашего любимого редактора:

    Внутри добавьте следующий образец HTML:

    Сохраните и закройте файл, нажав Ctrl+X для выхода, затем, когда будет предложено сохранить, нажмите Y и Enter .

    Чтобы Nginx мог обслуживать этот контент, необходимо создать серверный блок с правильными директивами. Вместо того, чтобы напрямую изменять файл конфигурации по умолчанию, давайте создадим новый в /etc/nginx/sites-available/your_domain :

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

    Обратите внимание, что мы изменили корневую конфигурацию на наш новый каталог, а server_name — на наше доменное имя.

    Далее включим файл, создав из него ссылку на каталог sites-enabled, из которого Nginx читает при запуске:

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

    Два блока server теперь включены и настроены для ответа на запросы на основе их директив listen и server_name (подробнее о том, как Nginx обрабатывает эти директивы, можно прочитать здесь):

    Чтобы избежать возможной проблемы с памятью хэш-контейнера, которая может возникнуть из-за добавления дополнительных имен серверов, необходимо настроить одно значение в файле /etc/nginx/nginx.conf. Откройте файл:

    Сохраните и закройте файл, когда закончите.

    Затем проверьте, чтобы ни в одном из ваших файлов Nginx не было синтаксических ошибок:

    Если проблем нет, перезапустите Nginx, чтобы изменения вступили в силу:

    Шаг 6. Знакомство с важными файлами и каталогами 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/ : каталог, в котором хранятся включенные серверные блоки для каждого сайта. Как правило, они создаются путем ссылки на файлы конфигурации, находящиеся в каталоге, доступном для сайтов.
    • /etc/nginx/snippets : этот каталог содержит фрагменты конфигурации, которые можно включить в другое место в конфигурации Nginx. Потенциально повторяющиеся сегменты конфигурации являются хорошими кандидатами на преобразование в фрагменты.

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

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

    Заключение

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

    Если вы хотите создать более полный стек приложений, ознакомьтесь со статьей Как установить Linux, Nginx, MySQL, PHP (стек LEMP) в Ubuntu 20.04.

    Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!

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

    Nginx – это бесплатное приложение Linux с открытым исходным кодом для веб-серверов. Он работает как обратный прокси-сервер, направляя веб-трафик на определенные серверы.

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

    Это руководство поможет вам установить Nginx в Ubuntu 20.04 Linux (Focal Fossa).

    • Система под управлением Ubuntu 20.04 Linux
    • Учетная запись пользователя с правами sudo или root
    • Доступ к окну/командной строке терминала (щелкните Действия > Поиск > введите Терминал)

    Шаг 1. Обновите репозитории программного обеспечения

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

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

    Подождите, пока процесс завершится.

    Шаг 2. Установите Nginx из репозиториев Ubuntu

    Nginx включен в репозитории Ubuntu 20.04 по умолчанию. Установите его, введя следующую команду:

    Примечание. Если система выдает ошибку, связанную с файлом блокировки, см. советы по устранению ошибки «Не удалось получить блокировку /Var/Lib/Dpkg/Lock».

    Шаг 3. Проверка установки

    Убедитесь, что Nginx установлен правильно, проверив версию программного обеспечения. Введите следующее:

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

    Шаг 4. Управление службой Nginx

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

    Начните с проверки состояния службы Nginx:

    Если в статусе отображается активно (работает), Nginx уже запущен. Нажмите CTRL + Z, чтобы закрыть экран состояния.

    Если Nginx не запущен, используйте следующую команду для запуска службы Nginx:

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

    Чтобы остановить службу Nginx, введите следующее:

    Чтобы предотвратить загрузку Nginx при загрузке системы:

    Чтобы перезагрузить службу Nginx (используется для применения изменений конфигурации):

    Для жесткого перезапуска Nginx:

    Шаг 5. Разрешите трафик Nginx

    Nginx требуется доступ через брандмауэр системы. Для этого Nginx устанавливает набор профилей для Ubuntu по умолчанию ufw (UnComplicated Firewall).

    Начните с отображения доступных профилей Nginx:

    Система должна отобразить следующее:

    Примечание. Могут быть перечислены и другие приложения. Их можно игнорировать.

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

    Система должна отображать обновленные правила .

    Обновите настройки брандмауэра, введя:

    Чтобы разрешить оба варианта, введите:

    Шаг 6. Протестируйте Nginx

    Убедитесь, что служба Nginx запущена, как описано в шаге 4. Откройте веб-браузер и перейдите по следующему веб-адресу:

    Система должна отобразить страницу приветствия Nginx.

    Примечание. Если система имеет определенное имя хоста или IP-адрес, вместо него можно использовать его.

    Если в системе нет графического интерфейса, страницу приветствия Nginx можно загрузить в терминал с помощью curl:

    Система должна отобразить HTML-код страницы приветствия Nginx.

    Шаг 7. Настройте блок сервера (необязательно)

    В Nginx блок сервера — это конфигурация, которая работает как отдельный сервер. По умолчанию в Nginx предварительно настроен один серверный блок.

    Он расположен в /var/www/html. Однако его можно настроить с несколькими серверными блоками для разных сайтов.

    1. Создайте каталог для тестового домена

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

    2. Настройка прав собственности и разрешений

    Используйте chmod для настройки правил владения и разрешений:

    Примечание. Прочтите нашу статью, чтобы узнать, как рекурсивно использовать chmod.

    3. Создайте файл index.html для блока сервера

    Откройте index.html для редактирования в текстовом редакторе по вашему выбору (мы будем использовать текстовый редактор Nano):

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

    Нажмите CTRL + o, чтобы сохранить изменения, затем CTRL + x, чтобы выйти.

    4. Создать конфигурацию блока сервера Nginx

    Откройте файл конфигурации для редактирования:

    Введите следующий код:

    5. Создайте символическую ссылку для чтения Nginx при запуске

    Создайте символическую ссылку между блоком сервера и каталогом запуска, введя следующее:

    6. Перезапустите службу Nginx

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

    7. Протестируйте конфигурацию

    Система должна сообщить, что синтаксис файла конфигурации в порядке и проверка файла конфигурации прошла успешно.

    8. Измените файл hosts (необязательно)

    Отобразите IP-адрес системы с помощью следующей команды:

    Запишите отображаемый IP-адрес.

    Затем откройте /etc/hosts для редактирования:

    В пустом месте чуть ниже информации о локальном хосте добавьте следующую строку:

    Замените 127.0.0.1 на указанный выше IP-адрес. Нажмите CTRL + o, чтобы сохранить изменения, затем CTRL + x, чтобы выйти.

    Вы должны увидеть сообщение, которое вы ввели в Части 3.

    Важные расположения файлов Nginx

    По умолчанию Nginx хранит различные файлы конфигурации и журналов в следующих местах:

    • /var/www/html — содержимое веб-сайта, которое видят посетители.
    • /etc/nginx — расположение основных файлов приложения Nginx.
    • /etc/nginx/nginx.conf — основной файл конфигурации Nginx.
    • /etc/nginx/sites-available — список всех веб-сайтов, настроенных с помощью Nginx.
    • /etc/nginx/sites-enabled — список веб-сайтов, активно обслуживаемых Nginx.
    • /var/log/nginx/access.log — журналы доступа, отслеживающие каждый запрос к вашему серверу.
    • /var/log/ngins/error.log — журнал любых ошибок, сгенерированных в Nginx.

    Теперь у вас должна быть работающая установка Nginx в Ubuntu 20.04. В качестве бонуса у вас должно быть введение в настройку блока сервера Nginx.

    Если вы собираетесь использовать Nginx в качестве обратного прокси-сервера, ознакомьтесь с нашей статьей «Как настроить Nginx в качестве обратного прокси-сервера».

    Читайте также: