25.09.2021

Установка и настройка NGINX на CentOS 7

Главная Форумы ОС, сети, софт, настройка, hack *nix системы Установка и настройка NGINX на CentOS 7

  • Эта тема пуста.
Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Автор
    Сообщения
  • #1434
    Аноним
    Неактивированный

    Для получения последней версии NGINX создаем файл с настройками нового репозитория:

    Code:

    vi /etc/yum.repos.d/nginx.repo

    И приводим его к следующему виду:

    Quote:

    [nginx]

    name=nginx repo

    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

    gpgcheck=0

    enabled=1

    Обновляем систему и список пакетов:

    Code:

    yum update

    * если система запросит подтверждение, отвечаем Y.

    Устанавливаем NGINX следующей командой:

    Code:

    yum install nginx

    По умолчанию, в CentOS работает брандмауэр, поэтому необходимо добавить рабочие порты 80 (http) и 443 (https) в правила на исключение:

    Code:

    firewall-cmd —permanent —add-port=80/tcp

    Code:

    firewall-cmd —permanent —add-port=443/tcp

    * в данном примере добавлены порты 80 и 443. Первый используется в NGINX по умолчанию. Если планируется использовать другой, необходимо добавить его. Или наоборот — если не запланирована работа по безопасному протоколу https, можно его не включать.

    Перезапускаем firewalld:

    Code:

    firewall-cmd —reload

    Теперь добавляем NGINX в автозапуск при загрузке CentOS

    Code:

    systemctl enable nginx

    И запускаем веб-сервер:

    Code:

    systemctl start nginx

    Для проверки запустите браузер на другом компьютере и введите в адресную строку IP-адрес сервера, который был настроен. Должна загрузиться тестовая страница, наприимер:

    [img]http://holpa.ru/img/img/2018-10/15/6z36ljose5bc0i6xd75bhgi8u.jpg[/img]

    NGINX + PHP + PHP-FPM

    В чистом виде, веб-сервер NGINX используется редко. Настроим связку с PHP и его обработчиком — PHP-FPM.

    Для начала, устанавливаем тот и другой следующими командами:

    Code:

    yum install php

    Code:

    yum install php-fpm

    Разрешаем автозапуск php-fpm и запускаем его:

    Code:

    systemctl start php-fpm

    Code:

    systemctl enable php-fpm

    Готово.

    Настройка NGINX для работы с PHP и PHP-FPM

    Открываем настройки сайта по умолчанию:

    Code:

    vi /etc/nginx/conf.d/default.conf

    Редактируем секцию location:

    Quote:

    location / {

    root /usr/share/nginx/html;

    index index.php;

    }

    * здесь мы поменяли index.html на index.php. Эта настройка позволит автоматически искать и запускать файл index.php, если путь к скрипту не указан явно.

    Приводим к следующему виду секцию server:

    Quote:

    location ~ .php$ {

    set $root_path /usr/share/nginx/html;

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

    fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;

    include fastcgi_params;

    fastcgi_param DOCUMENT_ROOT $root_path;

    }

    * где /usr/share/nginx/html — корневой путь по умолчанию для хранения сайта; 9000 — порт, на котором работает php-fpm.

    Переименовываем индексный файл для текущего сайта по умолчанию:

    Code:

    mv /usr/share/nginx/html/index.html /usr/share/nginx/html/index.php

    Отредактируем его (содержимое заменим на это):

    Code:

    vi /usr/share/nginx/html/index.php

    Quote:

    Перезапускаем nginx:

    Code:

    systemctl restart nginx

    Открываем сайт — мы должны увидеть сводную информацию по серверу и работе PHP.

    * Если требуется установить PHP версии 7, читайте инструкцию Установка PHP 7 на Linux CentOS 7.

    Совместная работа NGINX и PHP-FPM через сокет

    В конфигурационном файле NGINX меняем эту строчку:

    Code:

    fastcgi_pass 127.0.0.1:9000;

    На эту:

    Code:

    fastcgi_pass unix:/var/run/php-fpm/php5-fpm.sock;

    Открываем настройки php-fpm:

    Code:

    vi /etc/php-fpm.d/www.conf

    Меняем:

    Code:

    listen = 127.0.0.1:9000

    На:

    Code:

    listen = /var/run/php-fpm/php5-fpm.sock

    Перезапускаем nginx и php-fpm:

    Code:

    systemctl restart nginx

    Code:

    systemctl restart php-fpm

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Для ответа в этой теме необходимо авторизоваться.