Как установить Nginx в Ubuntu 20.04
Если у вас возникает сложность с самостоятельной установкой и настройкой Nginx, вы можете воспользоваться готовым решением: VPS с установленным Nginx
В этом руководстве я расскажу, как установить
Nginx
на сервер Ubuntu 20.04. Кроме того, я собираюсь настроить простой веб-сайт и создать внутри него конфигурацию, Nginx
чтобы сделать его доступным.Шаг 1 - Войдите на сервер
Войдите на свой сервер под своим пользователем без полномочий root:ssh user@example.com
Шаг 1.1 - Обновите свой сервер
После успешного входа в систему нам необходимо обновить наш сервер.Для этого запускаем следующую команду:
user@example.com:~$ sudo apt-get update && sudo apt-get upgrade -y
Шаг 2 - Установите Nginx
УстановимNginx
с помощью apt
.Для этого выполните следующую команду:
user@example.com:~$ sudo apt install nginx
Шаг 3 - Обновите брандмауэр
В предыдущем уроке мы настроили брандмауэр, который блокирует все подключения, кроме подключений изOpenSSH
.Теперь, чтобы иметь возможность использовать,
Nginx
нам нужно разрешить его в брандмауэре.Шаг 3.1 - Список доступных приложений ufw
Чтобы узнать, что активировать,ufw
мы сначала перечислим все доступные приложения, которые мы могли бы включить.user@example.com:~$ sudo ufw app list
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Nginx HTTP
разрешит толькоHTTP
трафик и откроется для этого порта80
.Nginx HTTPS
разрешит толькоHTTPS
трафик и откроется для этого порта443
.Nginx Full
разрешит обаHTTP
иHTTPS
трафик и откроет порт80
и443
.
SSL
, мы будем выбирать Nginx HTTP
.Шаг 3.2 - Адаптируйте конфигурацию ufw
Чтобы сказать,ufw
что он должен разрешить весь HTTP
трафик, нам нужно выполнить следующую команду:user@example.com:~$ sudo ufw allow 'Nginx HTTP'
user@example.com:~$ sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Шаг 4 - Проверьте Nginx
Теперь, когда брандмауэр разрешаетHTTP
соединения, Nginx
мы можем проверить, все ли работает правильно.Для этого мы собираемся проверить состояние
Nginx
с systemd
сервисом:user@example.com:~$ 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 Sat 2021-08-21 17:54:37 CEST; 21min ago
Docs: man:nginx(8)
Main PID: 6370 (nginx)
Tasks: 2 (limit: 2280)
Memory: 4.1M
CGroup: /system.slice/nginx.service
├─6370 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─6371 nginx: worker process
IP
адресу в браузере:http://10.0.0.1
Шаг 5 - Настройте веб-сайт
Теперь мы собираемся настроить тестовый веб-сайт и указатьexample.com
на него наш домен .Шаг 5.1 - Создайте каталог содержимого
Содержание , которое будет обеспечиватьсяNginx
можно найти здесь: /var/www/
.В настоящее время существует только
html
каталог, содержащий только что просмотренную веб-страницу.Для нашего нового веб-сайта мы собираемся создать новый каталог.
user@example.com:~$ sudo mkdir -p /var/www/example.com/html
user@example.com:~$ sudo chown -R $USER:$USER /var/www/example.com/html
Шаг 5.2 - Создайте образец веб-сайта
После создания каталога мы собираемся создать простойindex.html
:user@example.com:~$ sudo nano /var/www/example.com/html/index.html
<!doctype html>
<html>
<head>
<title>This is our test website</title>
</head>
<body>
<p>Hello, World!</p>
</body>
</html>
Шаг 5.3 - Настройка серверного блока Nginx
Теперь, когда у нас есть готовый веб-сайт, нам нужно создать так называемый,Server Block
который сообщает, Nginx
куда направлять запросы для нашего сервера.Для этого мы создаем в каталоге новый файл
/etc/nginx/sites-available
:user@example.com:~$ sudo nano /etc/nginx/sites-available/example.com
server {
listen 80;
server_name example.com;
root /var/www/example.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Вы можете найти другие примеры конфигураций здесь .
Шаг 5.4 - Активируйте серверный блок
Чтобы включить,Server Block
нам нужно создать ссылку на файл, который указывает на /etc/nginx/sites-enabled/
.user@example.com:~$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Шаг 5.5 - Настройте размер хэш- корзины имен серверов
Хорошее объяснение этой проблемы можно найти здесь .Чтобы обойти это, нам нужно настроить
nginx.conf
:user@example.com:~$ sudo nano /etc/nginx/nginx.conf
# server_names_hash_bucket_size 64;
server_names_hash_bucket_size 64;
Шаг 5.5 - Протестируйте конфигурацию Nginx
Теперь, когда все необходимые изменения были внесены, мы можем протестировать нашуNginx
конфигурацию.Для этого выполните следующую команду:
user@example.com:~$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Шаг 5.6 - перезагрузите Nginx
После подтверждения наших настроекNginx
мы можем перезагрузить его и сделать наши изменения активными.user@example.com:~$ sudo systemctl restart nginx
http://example.com
и вы увидите наш простой тестовый веб-сайт.
Комментариев 0