WindowsMacПрограммное обес..НастройкиБезопасностьПродуктивностьЛинуксАндроид (Androi.. Все

Как установить и настроить Nginx на Ubuntu

Отредактировано 1 Неделю назад от ExtremeHow Редакционная команда

NginxУбунтуСерверЛинуксВеб-серверУстановкаКонфигурацияОперационные системыСистемаНастройка

Как установить и настроить Nginx на Ubuntu

Перевод обновлен 1 Неделю назад

Добро пожаловать в это руководство по установке и настройке Nginx на сервере Ubuntu. В этой подробной статье мы рассмотрим каждый шаг в деталях, объясняя процесс от установки до настройки, включая различные модули и параметры, которые можно настроить в соответствии с вашими требованиями. Nginx известен своей высокой производительностью, стабильностью, богатым набором функций, простой конфигурацией и низким потреблением ресурсов, что делает его популярным выбором для веб-серверов. Давайте перейдем к шагам по запуску Nginx на вашей системе Ubuntu.

Понимание Nginx

Nginx (произносится как "энджин экс") — это высокопроизводительный HTTP-сервер и обратный прокси-сервер, а также прокси-сервер IMAP/POP3. Он был разработан для обработки большого количества одновременных подключений, что означает его высокую эффективность при обслуживании статического контента и предоставлении функций балансировки нагрузки. Nginx — это программное обеспечение с открытым исходным кодом, что означает, что его можно использовать, изменять и распространять бесплатно.

Предварительные требования

Перед установкой Nginx у вас должен быть сервер с установленной Ubuntu. Это руководство предполагает наличие следующего:

Убедитесь, что ваш сервер обновлен с последними пакетами программного обеспечения, для этого выполните следующее: sudo apt update && sudo apt upgrade.

Установка Nginx

Чтобы установить Nginx, ваш диспетчер пакетов должен быть обновлен. Вы будете использовать apt, который является диспетчером пакетов по умолчанию для Ubuntu. Выполните следующие шаги:

sudo apt update
sudo apt install nginx

Первая команда обновляет список пакетов. Вторая команда устанавливает Nginx. После установки Nginx запускается автоматически. Чтобы проверить, что Nginx работает, вы можете использовать команду: systemctl status nginx. Если служба активна и работает, вы должны увидеть соответствующее сообщение.

Настройка брандмауэра

По умолчанию Nginx регистрируется с ufw, который является инструментом настройки брандмауэра. С помощью ufw можно управлять открытыми портами HTTP и HTTPS. Запустите:

sudo ufw app list

Вы должны увидеть список профилей Nginx. Предоставьте полный доступ Nginx Full, используя следующую команду:

sudo ufw allow 'Nginx Full'

Затем проверьте изменения, проверив статус брандмауэра: sudo ufw status, чтобы убедиться, что трафик разрешен на нужных портах.

Проверка сервера Nginx

Теперь, когда Nginx работает и брандмауэр настроен, вы можете просмотреть страницу по умолчанию веб-сервера. Откройте веб-браузер и перейдите по публичному IP-адресу вашего сервера. Если Nginx настроен правильно, вы должны увидеть страницу "Welcome to Nginx!". Чтобы узнать публичный IP вашего сервера, вы можете использовать:

curl -4 icanhazip.com

Понимание структуры каталогов Nginx

Важно знать структуру каталогов, где установлен Nginx, в первую очередь в /etc/nginx. Основные каталоги и файлы включают в себя:

Изменения конфигурации обычно следует делать в nginx.conf или создавая новые файлы в sites-available.

Базовая настройка Nginx

Файл nginx.conf является основным файлом конфигурации для Nginx. Простые задачи могут потребовать редактирования его напрямую, но для конкретных изменений, связанных с размещаемыми сайтами, используйте файлы блоков сервера. Давайте создадим новый файл блока сервера для домена с именем example.com. Внутри /etc/nginx/sites-available/:

sudo nano /etc/nginx/sites-available/example.com

Добавьте следующую конфигурацию:

server {
    listen 80;
    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/

Чтобы проверить, правильно ли настроена конфигурация:

sudo nginx -t

Если успешно, перезагрузите Nginx:

sudo systemctl reload nginx

Этот пример только обслуживает статические файлы из каталога, предполагая, что они находятся в /var/www/html под корнем Nginx по умолчанию.

Настройка блока сервера

Блоки сервера позволяют размещать несколько доменов на одном сервере. Конфигурационный файл каждого домена должен находиться в sites-available, а символическая ссылка в sites-enabled. Пример блока сервера:

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com/html;
    index index.html index.htm index.nginx-debian.html;
    location / {
        try_files $uri $uri/ =404;
    }
}

Создайте структуру каталогов:

sudo mkdir -p /var/www/example.com/html

Укажите права доступа и создайте пример HTML страницы:

sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www/example.com
echo '<h1>Hello World!</h1>' > /var/www/example.com/html/index.html

Не забудьте создать символическую ссылку и проверить конфигурацию, затем перезагрузите Nginx.

Реализация SSL с Let's Encrypt

Для обеспечения безопасности трафика к и от вашего сервера важно реализовать SSL/TLS. Let's Encrypt предлагает бесплатные SSL-сертификаты. Начните с установки Certbot, клиента Let's Encrypt:

sudo apt install certbot python3-certbot-nginx

Certbot может автоматически настроить SSL для Nginx; выполните:

sudo certbot --nginx -d example.com -d www.example.com

Во время процесса необходимо указать адрес электронной почты и согласиться с условиями обслуживания. Certbot управляет изменениями в конфигурации Nginx для обслуживания контента через HTTPS.

Автоматизация продления SSL

Сертификаты Let's Encrypt истекают каждые 90 дней. Настройте задание cron для автоматического продления сертификатов. Откройте crontab:

sudo crontab -e

Добавьте:

0 3 * * * /usr/bin/certbot renew --quiet

Это выполнит команду продления каждый день в 3 часа утра.

Оптимизация производительности

Для сайтов с высоким трафиком важна оптимизация производительности. Некоторые стратегии оптимизации:

Рассмотрите возможность использования инструментов, таких как New Relic или Datadog, для мониторинга производительности Nginx.

Заключение

Поздравляем, вы установили и настроили Nginx на Ubuntu! Вы узнали, как обслуживать несколько доменов, обезопасить свой сайт с помощью SSL и оптимизировать конфигурацию для повышения производительности. Поскольку возможности и модули Nginx столь богаты, изучение его документации дальше может дать вам множество дополнительных и интересных возможностей. Продолжайте экспериментировать, и вскоре вы будете управлять высоко оптимизированным веб-сервером.

Если вы найдете что-то неправильное в содержании статьи, вы можете


Комментарии