Nginx — это программное обеспечение, которое используется для обработки запросов на веб-сайтах и приложениях. Оно может служить веб-сервером для обслуживания статических страниц и файлов, а также обратным прокси-сервером для балансировки нагрузки и распределения запросов между несколькими серверами. Оно известно своей высокой производительностью и эффективностью использования ресурсов, что делает его популярным средством для веб-разработки и управления сетями. В этой статье мы рассмотрим установку nginx на Debian 11. Инструкция будет справделива и для более ранних версий, например Debian 10.
Вот пошаговая инструкция по установке Nginx на Debian 11:
Шаг 1. Обновление системы
Перед началом установки рекомендуется обновить систему. Для этого выполните следующую команду:
sudo apt update && sudo apt upgrade
Шаг 2. Установка Nginx
Выполните команду для установки Nginx:
sudo apt install nginx
Шаг 3. Запуск Nginx на Debian
После установки Nginx автоматически запустится. Если же это не произошло, выполните команду:
sudo systemctl start nginx
Шаг 4. Проверка статуса Nginx
Чтобы убедиться, что Nginx успешно запущен, выполните команду:
sudo systemctl status nginx
Если все прошло успешно, вы увидите сообщение «active (running)».
Шаг 5. Настройка файрвола
Чтобы разрешить доступ к Nginx, необходимо открыть порт 80 и/или 443. Для этого выполните команды:
sudo ufw allow 'Nginx HTTP' sudo ufw allow 'Nginx HTTPS'
Шаг 6. Проверка Nginx
Теперь вы можете проверить, что Nginx работает, открыв веб-браузер и вводя IP-адрес сервера в адресной строке. Вы должны увидеть стандартную страницу приветствия «Welcome to nginx!»
Шаг 7. Настройка виртуального хоста
Если вы хотите настроить виртуальный хост, создайте новый конфигурационный файл в директории /etc/nginx/sites-available. Например, для создания файла test.friendhosting.net выполните команду:
sudo nano /etc/nginx/sites-available/test.friendhosting.net
Добавьте следующий код в файл:
server { listen 80; listen [::]:80; server_name test.friendhosting.net www.test.friendhosting.net; root /var/www/test.friendhosting.net/; index index.html; location / { try_files $uri $uri/ =404; } }
В этом примере мы создаем виртуальный хост для test.friendhosting.net, настраиваем корневую директорию и определяем, какой файл должен использоваться для индекса. Также мы настраиваем проверку файлов и папок при запросе.
Рассмотрим настройку виртуального хоста подробнее.
listen: определяет, какой IP-адрес и порт слушать для входящих соединений. В данном примере «listen 80» указывает, что сервер будет слушать соединения на порту 80, который обычно используется для HTTP-трафика.
server_name: определяет доменное имя сайта, который обслуживает данный виртуальный хост. В данном примере «server_name test.friendhosting.net» указывает, что данный виртуальный хост будет обслуживать сайт с доменным именем test.friendhosting.net.
root: определяет корневую директорию, в которой находятся файлы сайта. В данном примере «root /var/www/test.friendhosting.net» указывает, что файлы сайта находятся в директории /var/www/test.friendhosting.net.
index: определяет имя файла, который будет использоваться в качестве главной страницы сайта. В данном примере «index index.html» указывает, что в качестве главной страницы будет использоваться файл index.html.
location: определяет дополнительные настройки для обработки запросов в зависимости от URL-адреса. В данном примере «location /» указывает, что все запросы, которые начинаются с /, будут обрабатываться в соответствии с указанными правилами. В данном случае, если запрошенный файл не найден, Nginx вернет ошибку 404.
Шаг 8. Активация виртуального хоста nginx на Debian
Чтобы активировать виртуальный хост, создайте символическую ссылку на файл конфигурации в директории sites-enabled:
sudo ln -s /etc/nginx/sites-available/test.friendhosting.net /etc/nginx/sites-enabled/
Затем перезапустите Nginx:
sudo systemctl restart nginx
Шаг 9. Создание корневой директории сайта
Для создания корневой директории для виртуального хоста test.friendhosting.net нужно выполнить команду в терминале:
sudo mkdir -p /var/www/test.friendhosting.net
Эта команда создаст директорию test.friendhosting.net в каталоге /var/www/. Опция -p позволяет создавать директории рекурсивно, если они не существуют. Это удобно, если каталог /var/www/ еще не существует.
После создания директории необходимо установить правильные права на нее. Поскольку в нашем примере веб-сервер Nginx работает от имени пользователя www-data, этому пользователю нужно предоставить права на чтение и запись в корневую директорию сайта.
Для установки правильных разрешений нужно выполнить команду:
sudo chown -R www-data:www-data /var/www/test.friendhosting.net
Эта команда изменит владельца и группу директории test.friendhosting.net на www-data. Опция -R позволяет изменять владельца рекурсивно для всех файлов и поддиректорий внутри директории. После выполнения этой команды nginx сможет получить доступ к файлам в директории test.friendhosting.net и использовать их для обслуживания сайта.
Теперь, пришло время скопировать index.html в наш каталог /var/www/test.friendhosting.net/ а также установить верного владельца и группу на файл. Для этого выполните следующие команды
sudo cp /var/www/html/index.nginx-debian.html /var/www/test.friendhosting.net/index.html
sudo chown -R www-data:www-data /var/www/test.friendhosting.net/
Теперь, введя в адресную строку браузера http://test.friendhosting.net вы должны увидеть стандартную страницу «Welcome to nginx!».
После выполнения данной инструкции мы получили полностью настроенный и работающий веб-сервер Nginx на операционной системе Debian 11. Настроенный виртуальный хост, корневая директория и файл индекса позволяют приступить к разработке и публикации сайта. Данная инструкция является полезным руководством для тех, кто хочет установить и настроить веб-сервер Nginx на Debian 11. Она дает возможность выполнить задачу шаг за шагом и получить полностью настроенный и работающий сервер без каких-либо сложностей. Рекомендуется использовать данную инструкцию как ресурс для всех, кто хочет освоить настройку веб-сервера Nginx на Debian 11.
В следующей статье нашего практического курса по установке WordPress на Debian 11 без панели управления мы расскажем про установку Apache на Debian 11 и его настройку для корректной работы сайта.