Nginx — один из самых популярных в мире веб-серверов, на базе которого размещены некоторые из самых крупных сайтов интернета с огромным трафиком. Обычно он использует ресурсы эффективнее, чем Apache, и может использоваться как веб-сервер или обратный прокси-сервер.
В этом обучающем модуле мы покажем, как установить Nginx на сервере Ubuntu 20.04. Более подробную версию этого обучающего модуля можно найти в документе Установка Nginx в Ubuntu 20.04.
Поскольку Nginx доступен в хранилищах Ubuntu по умолчанию, вы можете установить его с помощью системы пакетов apt
.
Обновите локальный индекс пакетов:
Установите Nginx:
Если вы выполнили указания обучающего модуля по предварительной настройке сервера, вы уже активировали брандмауэр UFW. Проверьте доступные профили приложений ufw
с помощью следующей команды:
OutputAvailable applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Мы активируем профиль с наибольшими ограничениями, который будет разрешать заданный трафик, а именно трафик на порту 80
:
Проверьте изменения:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Используйте команду systemd
init system, чтобы проверить работу службы:
Outputnginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset:>
Active: active (running) since Mon 2020-05-04 22:45:26 UTC; 1min 17s ago
Docs: man:nginx(8)
Main PID: 13255 (nginx)
Tasks: 2 (limit: 1137)
Memory: 4.6M
CGroup: /system.slice/nginx.service
├─13255 nginx: master process /usr/sbin/nginx -g daemon on; master>
└─13256 nginx: worker process
Откройте страницу Nginx по умолчанию, чтобы подтвердить работу программного обеспечения через ваш IP-адрес:
http://your_server_ip
Вы получите страницу назначения Nginx по умолчанию:
При использовании веб-сервера Nginx вы можете использовать блоки сервера (аналогичные виртуальным хостам в Apache) для инкапсуляции данных конфигурации и размещения на одном сервере нескольких доменов. Мы создадим домен your_domain, но вы должны заменить это имя собственным доменным именем. Чтобы узнать больше о настройке доменного имени в DigitalOcean, ознакомьтесь с документом «Введение в DigitalOcean DNS».
Создайте каталог your_domain
, используя флаг -p
для создания необходимых родительских каталогов:
Назначьте владельца каталога:
Разрешения корневых каталогов веб-сервера должны быть правильными, если вы не изменяли значение umask
. Тем не менее вы можете проверить это с помощью следующей команды:
Создайте в качестве примера страницу index.html
, используя nano
или свой любимый редактор:
Добавьте в страницу следующий образец кода HTML:
<html>
<head>
<title>Welcome to your_domain!</title>
</head>
<body>
<h1>Success! The your_domain server block is working!</h1>
</body>
</html>
Сохраните файл и закройте его после завершения.
Создайте новый серверный блок в /etc/nginx/sites-available/your_domain
:
Вставьте следующий блок конфигурации, обновленный с учетом новых имен каталога и домена:
server {
listen 80;
listen [::]:80;
root /var/www/your_domain/html;
index index.html index.htm index.nginx-debian.html;
server_name your_domain www.your_domain;
location / {
try_files $uri $uri/ =404;
}
}
Сохраните файл и закройте его после завершения.
Активируйте файл, создав ссылку от него в каталог sites-enabled
:
Теперь два серверных блока активированы и настроены отвечать на запросы на базе директив listen
и server_name
:
your_domain
: будет отвечать на запросы your_domain
и www.your_domain
.default
: будет отвечать на любые запросы порта 80
, не соответствующие двум другим блокам.Чтобы избежать возможной проблемы с хэшированием памяти при добавлении дополнительных имен серверов, необходимо изменить одно значение в файле /etc/nginx/nginx.conf
. Откройте файл:
Найдите директиву server_names_hash_bucket_size
и удалите символ #
, чтобы убрать режим комментариев для строки:
...
http {
...
server_names_hash_bucket_size 64;
...
}
...
Проверьте ошибки синтаксиса:
Перезапустите Nginx, чтобы активировать изменения:
Теперь Nginx должен обслуживать ваше доменное имя. Вы можете проверить это, открыв в браузере адрес http://your_domain
, после чего должны получить примерно следующее:
Теперь вы установили веб-сервер и у вас есть богатые возможности выбора типа обслуживаемого контента и технологий для расширения возможностей пользователя.
Если вы захотите развернуть более сложный комплекс приложений, ознакомьтесь со статьей «Настройка комплекта LEMP в Ubuntu 20.04».
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!