- Установка NGINX на Ubuntu 20.04
- Проверьте состояние службы NGINX
- Тестирование веб-сервера NGINX
- Настройка серверных блоков NGINX
- Создать корень сайта
- Создание индексного файла
- Создание серверного блока
- Включить серверный блок
- Проверьте свою конфигурацию
- Протестируйте свой новый сайт
- Основные команды для управления NGINX сервером
- Основные файлы конфигурации и журналов NGINX
- Заключение
NGINX — это программное обеспечение для веб-серверов с открытым исходным кодом. Вы можете развернуть NGINX как автономный веб-сервер или как прокси-сервер перед другими веб-серверами. По сути, обратный прокси-сервер. Nginx — это один из лучших веб-серверов для размещения веб-сайта с высоким трафиком.
В этом инструкции мы установим NGINX в качестве автономного веб-сервера на Ubuntu 20.04.
Установка NGINX на Ubuntu 20.04
Прежде чем приступить к установке NGINX. Сначала запустите команду sudo apt-get update, чтобы получить информацию о новых и обновленных пакетах Ubuntu.
Nginx доступен в репозитории пакетов Ubuntu. Поэтому Nginx очень лего установить с помощью следующей команды:
$ sudo apt-get install nginx
Проверьте состояние службы NGINX
Давайте сделаем быструю проверку, чтобы подтвердить статус сервиса NGINX. Для этого выполните следующую команду:
$ sudo systemctl status nginx
Вывод приведенной выше команды подтверждает, что NGINX активен и работает.
Если вы получаете сообщение о том, что NGINX неактивен, не запущен или не работает. Тогда вы можете вручную запустить службу NGINX. Для этого выполните следующую команду:
$ sudo systemctl start nginx
Чтобы проверить установленную версию Nginx, запустите:
$ sudo dpkg-l nginx
Эти данные показывают, что установлен nginx версии 1.18.0. На момент написания статьи это последняя версия для Ubuntu 20.04.
Тестирование веб-сервера NGINX
После того когда вы узнали что служба NGINX активна и работает. Требуется протестировать веб-сервер. Для этого откройте свой браузер и введите IP-адрес вашего сервера на котором установлен NGINX. Например http://192.168.1.100
Вы должны увидеть веб-страницу по умолчанию под названием «Добро пожаловать в nginx!“
Теперь требуется, убедится, что соответствующий порт открыт в вашем брандмауэре. Например, если вы включили Брандмауэр UFW на своем сервере Ubuntu. Вы должны попытаться обновить правила брандмауэра. Для того чтобы разрешить NGINX общаться по порту 80 и/или 443 следующим образом.
Команда разрешает NGINX работать на порту 80:
$ sudo ufw allow 'Nginx HTTP'
Команда разрешает NGINX работать на порту 443:
$ sudo ufw allow 'Nginx HTTPS'
Настройка серверных блоков NGINX
Если вы хотите разместить несколько веб-сайтов на одном веб-сервере NGINX, то вам нужно будет настроить серверные блоки. Серверные блоки также называются виртуальными хостами (в основном в Apache).
NGINX предварительно сконфигурирован только с одним блоком сервера. И именно там хранятся сведения о конфигурации для веб—сайта по умолчанию (/etc/nginx/sites-available) (/var/www/html).
Давайте посмотрим:
$ sudo ls -l /etc/nginx/sites-available
total 8
-rw-r—r— 1 root root 2416 Mar 26 2020 default
Выполните следующую команду, для того чтоб отобразить содержимое файла блока сервера по умолчанию.
$ sudo cat /etc/nginx/sites-available/default | more
Нажмите пробел на клавиатуре, чтобы прокрутить страницу вниз. Вы увидите сведения о конфигурации сервера по умолчанию. Например такие данные как номер порта прослушивания, корневой каталог документа (т. е. базовая папка для хранения содержимого веб-сайта), индексный файл и имя сервера.
Вы также должны увидеть раздел под названием конфигурация виртуального хоста, как показано ниже.
Вы можете настроить свой дополнительный веб-сайт здесь, но лучше создать отдельный файл блока сервера и оставить файл по умолчанию как есть.
/etc/nginx/sites-available/default
# Virtual Host configuration for example.com
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#server {
# listen 80;
# listen [::]:80;
# server_name example.com;
# root /var/www/example.com;
# index index.html;
# location / {
# try_files $uri $uri/ =404;
# }
#}
А пока скопируйте приведенный выше пример конфигурации и сохраните его в текстовом редакторе. Так как мы будем использовать эту информацию в ближайшее время.
Создать корень сайта
Далее вам нужно будет создать корневую папку в разделе /var / www . Это делается для хранения содержимого вашего дополнительного веб-сайта. Например, я собираюсь создать папку с именем domain1.com.
Примечание: Прошу заметить что domain1 должен быть вашим зарегистрированным доменным именем. Вы также должны обновить записи DNS у регистратора. Для того чтоб указать свое доменное имя на общедоступный IP-адрес вашего веб-сервера NGINX.
sudo mkdir /var / www/domain1. com
Создание индексного файла
Индексный файл — это главная веб-страница, которая отображается при открытии веб-сайта. Выполните следующую команду, чтобы создать индексный файл для вашего дополнительного веб-сайта.
$ sudo nano /var/www/domain1.com/index.html
В этом примере я использую nano, но вы можете использовать свой любимый текстовый редактор. Вы можете скопировать и вставить следующий HTML код для тестирования.
<!DOCTYPE html>
<html>
<head>
<title>Welcome to Domain1!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to Domain1!</h1>
<p>If you see this page, the Domain1 website is working!</p>
</body>
</html>
Сохраните изменения и закройте текстовый редактор.
Создание серверного блока
Следующим шагом является создание файла серверного блока. Предназначен он для хранения сведений о конфигурации дополнительного веб-сайта. Выполните следующую команду.
$ sudo nano /etc/nginx/sites-available/domain1
Скопируйте пример конфигурации виртуального хоста сохраненного ранее и вставьте его в новый файл. Начиная со строки «server», убедитесь, что вы удалили все символы #. Чтобы раскомментировать директивы. Кроме того, не забудьте заменить “domain1” на ваше собственное зарегистрированное доменное имя соответственно.
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
server {
listen 80;
listen [::]:80;server_name domain1.com www.domain1.com;
root /var/www/domain1.com;
index index.html;location / {
try_files $uri $uri/ =404;
}
Сохраните изменения и закройте этот файл.
Включить серверный блок
Чтобы NGINX знал, что дополнительный веб-сайт доступен, выполните следующую команду для создания символической ссылки на файл блока сервера.
$ ln -s /etc/nginx/sites-available/domain1 /etc/nginx/sites-enabled
Проверьте свою конфигурацию
Запустите sudo nginx-t, чтобы проверить конфигурацию блока сервера. Вы должны увидеть сообщение, указывающее, что все в порядке.
$ sudo nginx-t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Вы можете запустить sudo service nginx reload, чтобы перезагрузить файлы конфигов.
Протестируйте свой новый сайт
Откройте веб-браузер и введите свой новый адрес веб-сайта. Вы должны увидеть содержимое индексного файла, созданного для вашего нового веб-сайта. А не веб-страницу NGINX по умолчанию.
Основные команды для управления NGINX сервером
Вот основные команды Nginx сервера для управления.
Команда restart остановит службу, а затем запустит ее снова.
$ sudo systemctl restart nginx
Команда reload сообщает NGINX перезагрузить конфигурационные файлы, но без остановки службы.
$ sudo systemctl reload nginx
Команда stop остановит службу NGINX.
$ sudo systemctl stop nginx
Включение Nginx при загрузке системы.
$ sudo systemctl enable nginx
Примечание: служба Nginx включена по умолчанию. И автоматически стартует при загрузке сервера.
Основные файлы конфигурации и журналов NGINX
/etc/nginx этот файл содержит все конфигурационные файлы NGINX.
/etc/nginx/sites-available этот файл содержит дынные серверных блоков, в которых хранят сведения о конфигурации. Требуется это для обслуживания одного или нескольких веб-сайтов.
/etc/nginx/sites-enabled данный файл содержит конфигурации одного или нескольких включенных веб-сайтов.
/etc/nginx/nginx. conf это основной конфигурационный файл, который считывает директивы конфигурации в других файлах.
/var / log/nginx / access. log этот файл хранит данные о всех посещениях вашего сайта
/var/log/nginx/error. log этот файл предназначен для хранения ошибок NGINX
Заключение
Следуя этой инструкции, вы можете запустить NGINX с одним или несколькими веб-сайтами на вашем сервере Ubuntu 20.04. Но если вдруг у вас возникли какие-либо проблемы, то пожалуйста, не стесняйтесь сообщить мне об этом в разделе комментариев ниже. Я сделаю все возможное, чтобы помочь вам.
borisych@ubuntu:~$ sudo ufw разрешить ‘Nginx HTTP’
[sudo] пароль для borisych:
ERROR: Invalid syntax
Usage: ufw COMMAND
В чем проблема?
Блин там кв место разрешить надо написать allow
$ sudo ufw allow ‘Nginx HTTP’
$ sudo ufw allow ‘Nginx HTTPS’