Отредактировано 5 несколько месяцев назад от ExtremeHow Редакционная команда
FedoraNginxУстановкаВеб-серверКонфигурацияПрограммное обеспечениеКомандная строкаТерминалХостингКомпьютеры
Перевод обновлен 5 несколько месяцев назад
Цель этого руководства — помочь вам установить и настроить Nginx на системе Fedora. Nginx — это популярный веб-сервер с открытым исходным кодом, известный своей высокой производительностью, стабильностью и низким потреблением ресурсов. Он способен обрабатывать большое количество одновременных соединений, что делает его предпочтительным выбором для многих разработчиков. По окончании этого руководства у вас должна быть работающая установка Nginx, готовая к обслуживанию веб-контента.
Перед началом установки убедитесь, что ваша система обновлена до последней версии. Обновление гарантирует, что вы получите последние функции и исправления безопасности для всех пакетов, включая Nginx.
Чтобы обновить систему, откройте терминал и выполните следующую команду:
sudo dnf update -y
Флаг -y
автоматически отвечает «да» во время процесса обновления. После завершения обновления приступайте к установке Nginx.
Менеджер пакетов Fedora, DNF, может использоваться для установки Nginx из его репозиториев. Процесс установки прост.
Введите следующие команды в вашем терминале:
sudo dnf install nginx -y
Эта команда сообщает DNF установить последнюю версию Nginx, доступную в репозитории. При появлении запроса введите свой пароль для авторизации процесса установки. После завершения установки Nginx установлен на вашей системе, но еще не запущен.
После установки вы захотите запустить службу Nginx и убедиться, что она автоматически запускается при загрузке.
Используйте следующую команду для запуска Nginx:
sudo systemctl start nginx
Чтобы запускать Nginx при загрузке, используйте:
sudo systemctl enable nginx
Чтобы проверить, что Nginx работает, выполните:
sudo systemctl status nginx
Если все настроено правильно, команда состояния покажет Nginx как активный и работающий.
Конфигурация Nginx осуществляется через его конфигурационные файлы, в основном расположенные в /etc/nginx/nginx.conf
. Этот файл определяет основные настройки, включая разрешения пользователей, журналы ошибок и подключения рабочих процессов.
Файл nginx.conf
содержит несколько директив, которые организованы в контексты, такие как main {}
, events {}
и http {}
. Внутри контекста http
вы можете иметь блоки server
, которые определяют конфигурацию конкретного сервера.
Простой серверный блок может выглядеть так:
server { listen 80; server_name example.com; location / { root /usr/share/nginx/html; index index.html index.htm; } }
Этот блок указывает Nginx прослушивать порт 80 для запросов, направленных на 'example.com'. Директива root
указывает, где хранятся HTML файлы, а директива index
перечисляет файлы по умолчанию для отображения.
Nginx поддерживает размещение нескольких веб-сайтов, используя концепцию виртуальных хостов. Каждый сайт определяется блоком server
в конфигурационном файле.
Вот пример двух виртуальных хостов на одном сервере:
server { listen 80; server_name site1.com; location / { root /var/www/site1; index index.html; } } server { listen 80; server_name site2.com; location / { root /var/www/site2; index index.html; } }
Каждое server_name
ссылается на отдельный веб-сайт. Запросы для 'site1.com' или 'site2.com' будут обслуживаться различным контентом в зависимости от их соответствующих корневых директорий.
После редактирования конфигурационных файлов необходимо протестировать их на синтаксические ошибки перед развертыванием. Вы можете сделать это легко:
sudo nginx -t
Если ошибок не обнаружено, продолжите и перезагрузите службу Nginx, чтобы применить новую конфигурацию:
sudo systemctl reload nginx
Убедитесь, что настройки вашего брандмауэра позволяют HTTP и HTTPS трафик, чтобы Nginx мог обслуживать веб-страницы. Используйте следующую команду firewall-cmd, чтобы разрешить эти службы:
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
Защита Nginx с помощью SSL-сертификатов обеспечивает уровень безопасности, шифруя данные, передаваемые между вашим сервером и клиентами. Вы можете использовать бесплатные SSL-сертификаты от Let’s Encrypt.
Сначала установите инструмент Certbot для Let’s Encrypt:
sudo dnf install certbot python3-certbot-nginx -y
Получите сертификат с помощью Certbot:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Следуйте инструкциям на экране, чтобы завершить настройку и установить действующий SSL-сертификат. Certbot автоматически настроит ваш серверный блок Nginx для использования SSL.
Журналы Nginx важны для мониторинга трафика и устранения проблем. Журналы доступа записывают запросы клиентов, а журналы ошибок хранят ошибки сервера Nginx.
По умолчанию эти журналы расположены в каталоге /var/log/nginx/
:
Журнал доступа: /var/log/nginx/access.log Журнал ошибок: /var/log/nginx/error.log
Просматривайте эти журналы с помощью команды, такой как tail -f /var/log/nginx/access.log
, чтобы видеть входящие запросы в режиме реального времени.
Nginx — это универсальное и надежное решение для веб-сервера для Fedora, способное размещать несколько сайтов и одновременно обслуживать большое количество клиентов. Понимая его конфигурацию и основные операции, вы можете эффективно использовать Nginx для удовлетворения нужд вашего веб-сервера.
Если вы найдете что-то неправильное в содержании статьи, вы можете