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

Nginx – это программное обеспечение, с помощью которого создается веб-сервер, почтовый сервер или прокси-сервер. 

Веб-сервер необходим чтобы принимать и обрабатывать запросы, выполняемые по протоколам HTTP и HTTPS, ответ на них возвращается в виде HTML-страницы. Прокси-сервер получает и обрабатывает запросы, далее отправляет их другим программам. 

В 2002 году разработкой Nginx занимался Игорь Сысоев, в 2011 году выпуском ПО занималась основанная им компания. В 2019 году права на Nginx купила крупная американская корпорация F5 Networks. В настоящий момент программное обеспечение имеет открытый исходный код и распространяется бесплатно. 

Для чего нужен Nginx:

  • Кэширования и потоковой передачи видео,
  • Отдачи статического контента,
  • Распределения нагрузки,
  • Настройки почты,
  • Создание сетей CDN,
  • Безопасной работы в сети.

Программное обеспечение является очень популярным среди пользователей благодаря своей высокой производительности. Nginx работает со многими популярными операционными системами: Linux, MacOS, Windows и другими.

В нашей статье рассмотрим установку Nginx на оборудование с популярной среди пользователей ОС CentOS.

CentOS – это операционная система, в основе которой лежит ядро Linux. Она имеет открытый исходный код и распространяется бесплатно. Операционная система разработана компанией Red Hat на базе платной Red Hat Enterprise Linux (RHEL). CentOS отличается высокой стабильностью работы и длительными сроками поддержки разработчиками.

Как установить Nginx на СentOS 7

  1. Подключитесь к серверу с помощью SSH.
  2. Для загрузки актуальной версии программы установите репозиторий EPEL:

sudo yum install epel-release

  1. Следующим шагом установите Nginx:

sudo yum install nginx

  1. Открываем  возможность прохождения HTTP и HTTPS-трафика через брандмауэр с помощью команд:

sudo firewall-cmd --permanent --add-service=http 

sudo firewall-cmd --permanent --add-service=https

  1. Делаем перезагрузку файерволла, чтобы изменения вступили в силу:

sudo firewall-cmd --reload

  1. Выполните запуск Nginx с помощью команды:

sudo systemctl start nginx

  1. Включите автоматическую загрузку программы:

sudo systemctl enable nginx

  1. Чтобы проверить работоспособность Nginx введите:

sudo systemctl status nginx

В выводе должен отобразиться статус active.

  1. Если все было выполнено правильно, то при переходе по адресу сервера (http://IP-сервера_или_имя_сервера/), откроется страница приветствия CentOS Nginx:

  1. Установка Nginx завершена.

Настройка Nginx

Сначала выполним некоторые базовые настройки:

  1. Для хранения SSL-сертификатов и DH-ключей создайте специальную директорию и файл с параметрами для DHE-шифров:

mkdir /etc/nginx/ssl

openssl dhparam -out /etc/nginx/ssl/dhparams.pem 2048

  1. Для хранения настроек веб-сайтов также создайте директории:

mkdir /etc/nginx/sites-available /etc/nginx/sites-enabled

Обычно для работы с Nginx требуется настройка PHP. Приведем инструкцию по настройке php-fpm Nginx в CentOS.

  1. Установите пакеты php и php-fmp:

sudo yum install php php-fpm

  1. Произведите запуск службы php-fmp с помощью команды:

sudo systemctl start php-fpm

  1. Разрешите автоматический запуск программы, используя команду:

sudo systemctl enable php-fpm

  1. Откройте конфигурационный файл php-fpm, чтобы проверить по какому порту ожидается соединение (по умолчанию – 9000), для этого перейдите по адресу /etc/php-fpm.d/www.conf:

  1. Далее выполните привязку Nginx к новой программе, для этого откройте файл:

 sudo nano /etc/nginx/nginx.conf

  1. Перейдите к разделу server и вместо кода

location / {

        root   /usr/share/nginx/html;

        index  index.php;

    }

вставьте

location ~ \.php$ {

        fastcgi_pass 127.0.0.1:9000;

        fastcgi_index index.php;

        fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;

        include fastcgi_params;

    }

  1. Выполните сохранение и закройте файл.
  2. Перезагрузите веб-сервер

sudo systemctl reload nginx

  1. Создайте тестовый файл с следующими данными:

sudo nano /var/www/html/default/phpinfo.php

<?php phpinfo(); ?>

  1. Перед закрытием файла, сохраните новую информацию.
  2. Если все действия выполнены верно, то, при переходе по адресу http://IP-сервера_или_имя_сервера/, откроется страница с настройками PHP.

Установка и настройка Nginx на CentOS завершена.

Всё ещё остались вопросы?