Быстрая установка Nginx в Ubuntu 18.04
Quickstart, Ubuntu | Комментировать запись
Nginx – один из самых популярных веб-серверов в мире, позволяющий размещать очень объемные сайты с высоким трафиком. Он, как правило, расходует меньше ресурсов, чем Apache. Также его можно использовать в качестве обратного прокси-сервера.
Данный мануал поможет установить Nginx на сервер Ubuntu 18.04. Более подробные инструкции вы найдете в мануале Установка Nginx в Ubuntu 18.04.
Требования
Для работы нужен сервер Ubuntu 18.04, настроенный согласно этому мануалу.
1: Установка Nginx
Пакет Nginx доступен в стандартном репозитории системы Ubuntu.
Обновите индекс локальных пакетов:
sudo apt update
Установите Nginx:
sudo apt install nginx
2: Настройка брандмауэра
Откройте список профилей ufw:
sudo ufw app list
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Рекомендуется выбрать наиболее строгий профиль веб-сервера. Однако, поскольку на сервере ещё не настроен SSL, мы можем настроить только порт 80.
sudo ufw allow 'Nginx HTTP'
Убедитесь в том, что профиль включен:
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)
3: Тестирование веб-сервера
Чтобы убедиться в том, что Nginx запущен, запросите его состояние в системе инициализации systemd.
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 Fri 2018-04-20 16:08:19 UTC; 3 days ago
Docs: man:nginx(8)
Main PID: 2369 (nginx)
Tasks: 2 (limit: 1153)
CGroup: /system.slice/nginx.service
├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─2380 nginx: worker process
Как видите, сервис успешно запущен.
Также можно попробовать посетить стандартную посадочную страницу Nginx. Она доступна в браузере по доменному имени или IP-адресу.
http://your_server_ip
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
4: Настройка виртуального хоста (рекомендуется)
На веб-сервере Nginx вы можете использовать виртуальные хосты (также они называются блоками server) для изоляции настроек и размещения нескольких доменов на одном сервере. Здесь используется условный домен example.com, но вы должны заменить его собственным доменом.
Создайте каталог example.com, используя флаг -p для создания всех необходимых родительских каталогов:
sudo mkdir -p /var/www/example.com/html
Затем определите права на каталог с помощью переменной $USER:
sudo chown -R $USER:$USER /var/www/example.com/html
Права должны быть установлены верно, если вы не меняли unmask, но на всякий случай вы можете их проверить:
sudo chmod -R 755 /var/www/example.com
Затем создайте образец страницы index.html с помощью nano или другого редактора:
nano /var/www/example.com/html/index.html
Вставьте в файл:
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com server block is working!</h1>
</body>
</html>
Сохраните и закройте файл.
Создайте новый файл /etc/nginx/sites-available/example.com.
sudo nano /etc/nginx/sites-available/example.com
Вставьте в файл следующие конфигурации, указав правильный домен и каталог:
server {
listen 80;
listen [::]:80;
root /var/www/example.com/html;
index index.html index.htm index.nginx-debian.html;
server_name example.com www.example.com;
location / {
try_files $uri $uri/ =404;
}
}
Сохраните и закройте файл.
Включите файл, создав симлинк в каталоге sites-enabled:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Теперь у вас есть два виртуальных хоста, которые будут обслуживать запросы клиентов на основе директив listen и server_name:
- example.com будет обслуживать запросы для www.example.com и example.com.
- default будет отвечать на запросы по порту 80, если они не соответствуют остальным виртуальным хостам.
Чтобы избежать возможных проблем с памятью, которые могут возникнуть в результате добавления дополнительных имен серверов, необходимо отредактировать одно значение в файле /etc/nginx/nginx.conf. Откройте файл:
sudo nano /etc/nginx/nginx.conf
Найдите строку server_names_hash_bucket_size и раскомментируйте ее, удалив символ #:
...
http {
...
server_names_hash_bucket_size 64;
...
}
...
Проверьте ошибки в конфигурации Nginx:
sudo nginx -t
Сохраните и закройте файл.
Перезапустите Nginx, чтобы активировать новые параметры:
sudo systemctl restart nginx
Теперь Nginx обслуживает домен вашего сайта. Чтобы убедиться в этом, откройте ссылку http://example.com.
Success! The example.com server block is working!
Заключение
Теперь веб-сервер Nginx установлен и готов к работе. Используйте его для обслуживания контента вашего сайта. Чтобы установить более сложный программный стек для поддержки сайта, читайте руководство по установке LEMP.
Tags: NGINX, Ubuntu 18.04