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

Nginx произносится как engine x — это бесплатный высокопроизводительный HTTP-сервер и обратный прокси-сервер с открытым исходным кодом, отвечающий за обработку нагрузки некоторых из крупнейших сайтов в Интернете.

Nginx можно использовать как автономный веб-сервер и как обратный прокси для Apache и других веб-серверов.

По сравнению с Apache, Nginx может обрабатывать гораздо большее количество одновременных подключений и имеет меньший объем памяти на каждое подключение.

Из этого руководства вы узнаете, как установить Nginx на вашем компьютере с CentOS 7 и управлять им.

Подготовка

Перед тем, как начать работу с руководством, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo и у вас нет Apache или какой-либо другой службы, работающей на порте 80 или 443.

Установка Nginx на CentOS

Выполните следующие действия, чтобы установить Nginx на свой сервер CentOS:

  1. Пакеты Nginx доступны в репозиториях EPEL. Если у вас еще не установлен репозиторий EPEL, вы можете сделать это, набрав:
    sudo yum install epel-release
  2. Установите Nginx, набрав следующую команду yum:
    sudo yum install nginx

    Если вы устанавливаете пакет из репозитория EPEL впервые, yum может предложить вам импортировать ключ EPEL GPG:

    Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Importing GPG key 0x352C64E5: Userid : "Fedora EPEL (7) <[email protected]>" Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Package : epel-release-7-9.noarch (@extras) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Is this ok [y/N]:

    Если это так, введите y и нажмите Enter .

  3. После завершения установки включите и запустите службу Nginx с помощью:
    sudo systemctl enable nginx sudo systemctl start nginx

    Проверьте статус службы Nginx с помощью следующей команды:

    sudo systemctl status nginx

    Результат должен выглядеть примерно так:

    ● nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2018-03-12 16:12:48 UTC; 2s ago Process: 1677 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 1675 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 1673 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 1680 (nginx) CGroup: /system.slice/nginx.service ├─1680 nginx: master process /usr/sbin/nginx └─1681 nginx: worker process
  4. Если ваш сервер защищен брандмауэром, вам необходимо открыть порты HTTP ( 80 ) и HTTPS ( 443 ).

    Используйте следующие команды, чтобы открыть необходимые порты:

    sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
  5. Чтобы проверить установку Nginx, откройте http://YOUR_IP в выбранном браузере, и вы увидите страницу приветствия Nginx по умолчанию, как показано на изображении ниже:

Управляйте службой Nginx с помощью systemctl

Вы можете управлять службой Nginx так же, как и любым другим модулем systemd.

Чтобы остановить службу Nginx, запустите:

sudo systemctl stop nginx

Чтобы запустить его снова, введите:

sudo systemctl start nginx

Чтобы перезапустить службу Nginx :

sudo systemctl restart nginx

После внесения некоторых изменений в конфигурацию перезагрузите службу Nginx:

sudo systemctl reload nginx

Если вы хотите отключить службу Nginx для запуска при загрузке:

sudo systemctl disable nginx

И чтобы снова включить его:

sudo systemctl enable nginx

Структура файла конфигурации Nginx и рекомендации

  • Все файлы конфигурации Nginx находятся в каталоге /etc/nginx/ .
  • Главный файл конфигурации Nginx — это /etc/nginx/nginx.conf .
  • Чтобы упростить поддержку конфигурации Nginx, рекомендуется создать отдельный файл конфигурации для каждого домена.
  • Новые файлы блоков сервера Nginx должны оканчиваться на .conf и храниться в /etc/nginx/conf.d . Вы можете иметь столько серверных блоков, сколько вам нужно.
  • Рекомендуется следовать стандартному соглашению об именах, например, если ваше доменное имя — mydomain.com тогда ваш файл конфигурации должен называться /etc/nginx/conf.d/mydomain.com.conf
  • Если вы используете повторяющиеся сегменты конфигурации в серверных блоках своих доменов, рекомендуется создать каталог с именем /etc/nginx/snippets преобразовав эти сегменты в фрагменты и включив файл фрагмента в блоки сервера.
  • Файлы журнала Nginx ( access.log и error.log ) находятся в каталоге /var/log/nginx/ . Рекомендуется иметь разные файлы access и журналов error для каждого блока сервера.
  • Вы можете установить корневой каталог документов домена в любое место. Наиболее распространенные места для webroot:
    • /home/<user_name>/<site_name>
    • /var/www/<site_name>
    • /var/www/html/<site_name>
    • /opt/<site_name>
    • /usr/share/nginx/html

Выводы

Поздравляем, вы успешно установили Nginx на свой сервер CentOS 7. Теперь вы готовы начать развертывание своих приложений и использовать Nginx в качестве веб-сервера или прокси-сервера. Если вы намереваетесь разместить несколько доменов на своем сервере CentOS, вам следует научиться создавать блоки сервера Nginx .

В настоящее время безопасный сертификат является обязательной функцией для всех веб-сайтов. Чтобы защитить свой сайт с помощью бесплатного сертификата Let’s Encrypt SSL, вы можете ознакомиться с нашим руководством о том, как защитить Nginx с помощью Let’s Encrypt в CentOS 7 .

Оставьте комментарий