Введение
Nginx — это высокопроизводительный HTTP-сервер с открытым исходным кодом и обратный прокси-сервер, отвечающий за управление нагрузкой некоторых из крупнейших сайтов в Интернете. Его можно использовать в качестве автономного веб-сервера, балансировщика нагрузки, кэширования контента и обратного прокси -сервера для HTTP- и не-HTTP-серверов.
По сравнению с Apache, Nginx может обрабатывать очень большое количество одновременных подключений и требует меньше памяти для каждого подключения.
В этом руководстве описывается, как установить и управлять Nginx в Ubuntu 20.04 LTS.
Предпосылки
Прежде чем продолжить, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo и что у вас нет Apache или других процессов, работающих на портах 80
или 443
.
Если вы хотите установить Nginx на удаленный сервер, продолжайте чтение, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Установите Nginx
Nginx доступен в стандартных репозиториях Ubuntu. Для его установки выполните следующие команды:
sudo apt update
sudo apt install nginx
После завершения установки служба Nginx запустится автоматически. Вы можете проверить это, запустив:
sudo 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 Mon 2020-05-04 23:59:35 CEST; 9s ago
Docs: man:nginx(8)
Main PID: 67793 (nginx)
Tasks: 2 (limit: 2286)
Memory: 4.1M
CGroup: /system.slice/nginx.service
├─67793 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─67794 nginx: worker process
May 04 23:59:35 TEST-SERVER-1 systemd[1]: Starting A high performance web server and a reverse proxy server...
May 04 23:59:35 TEST-SERVER-1 systemd[1]: Started A high performance web server and a reverse proxy server.
Это все. Nginx был установлен на вашем компьютере с Ubuntu. Вы можете управлять службой Nginx, как и любым другим системным диском.
Управление сервисом Nginx
Вы можете управлять службой Nginx так же, как и любой другой службой systemd.
Чтобы остановить службу Nginx, запустите:
sudo systemctl stop nginx
Чтобы запустить его снова, введите:
sudo systemctl start nginx
Чтобы перезапустить службу Nginx:
sudo systemctl restart nginx
Перезагрузите службу Nginx после внесения некоторых изменений в конфигурацию:
sudo systemctl reload nginx
По умолчанию служба Nginx запускается автоматически при запуске. Если вы хотите отключить запуск службы Nginx при запуске:
sudo systemctl disable nginx
Чтобы повторно активировать его:
sudo systemctl enable nginx
Настроить брандмауэр
Теперь, когда Nginx установлен и запущен на сервере, вам нужно убедиться, что ваш брандмауэр настроен на разрешение трафика через порты HTTP ( 80
) и HTTPS ( 443
). Предполагая, что вы используете UFW
, вы можете сделать это, включив профиль «Nginx Full», который включает правила для обоих портов:
sudo ufw allow 'Nginx Full'
Чтобы проверить тип статуса:
sudo ufw status
Вывод будет выглядеть следующим образом:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Nginx Full ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
Протестируйте установку
Чтобы протестировать новую установку Nginx, откройте браузер и подключитесь к своему IP-адресу или доменному имени http://YOUR_IP
, и вы должны увидеть целевую страницу Nginx по умолчанию, как показано на изображении ниже.
Структура файла конфигурации Nginx и рекомендации
- Все файлы конфигурации Nginx находятся в каталоге
/etc/nginx
. - Основной файл конфигурации Nginx —
/etc/nginx/nginx.conf
. - Для облегчения обслуживания конфигурации Nginx рекомендуется создать отдельный файл конфигурации для каждого домена. Вы можете иметь все файлы блокировки сервера, которые вам нужны.
- Файлы блокировки сервера Nginx хранятся в каталоге
/etc/nginx/sites-available
. Файлы конфигурации, находящиеся в этом каталоге, не используются Nginx, если только они не связаны с каталогом/etc/nginx/sites-enabled
. - Чтобы включить блокировку сервера, вам необходимо создать символическую ссылку (указатель) из файла конфигурации sites в каталоге,
sites-available
для сайтов, на каталог сsites-enabled
. - Рекомендуется следовать стандартному соглашению об именах. Например, если ваше доменное имя —
mydomain.com
, ваш файл конфигурации должен называться/etc/nginx/sites-available/mydomain.com.conf
- Каталог
/etc/nginx/snippets
содержит сниппеты конфигурации, которые можно включить в файлы блокировки сервера. Если вы используете повторяющиеся сегменты конфигурации, вы можете превратить эти сегменты во фрагменты и включить файл фрагмента в серверные блоки. - Файлы журнала Nginx (
access.log
иerror.log
) находятся в каталоге/var/log/nginx
. Рекомендуется иметь разные файлы журналовaccess
иerror
для каждого блока сервера. - Вы можете установить корень документа домена в любое место, которое вы хотите. Наиболее распространенные места для веб-рутов включают:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>
Вывод
Мы показали вам, как установить Nginx на Ubuntu 20.04 LTS Focal Fossa. Теперь вы можете начать распространять свои приложения и использовать Nginx в качестве веб-сервера или прокси.