Настройка Php fpm nginx centos 7

Обновлено: 03.07.2024

В этом руководстве мы рассмотрим шаги по созданию стека LEMP в CentOS 7.

Все команды — без sudo

Все команды — с помощью sudo

Стек LEMP — это группа программного обеспечения с открытым исходным кодом, которое устанавливается на сервер, чтобы мы могли размещать динамические веб-приложения и сайты. Стек LEMP — это еще один вариант стека LAMP. LEMP — это аббревиатура, состоящая из Linux в качестве операционной системы, NGINX в качестве веб-сервера, MySQL/MariaDB в качестве системы управления реляционными базами данных и PHP в качестве языка сценариев на стороне сервера.

Предпосылки

  • VPS на CentOS 7
  • Корневой доступ к серверу
  • Клиент SSH (например, PuTTY)

Шаг 1. Обновите свою систему

Войдите в систему как пользователь sudo, а затем обновите свою систему, используя следующую команду:

Шаг 2. Установка NGINX

Nginx недоступен в репозиториях CentOS 7 по умолчанию, поэтому добавьте репозиторий Extra Packages for Enterprise Linux (EPEL), выполнив приведенную ниже команду.

Теперь, когда репозиторий (EPEL) установлен на вашем сервере, давайте установим веб-сервер NGINX с помощью приведенной ниже команды.

После установки запустите и включите NGINX.

Настройте системный брандмауэр для NGINX, чтобы разрешить входящий трафик на сервер с кодами 80 и 443.

Чтобы проверить, запущен ли NGINX, откройте свой IP-адрес в браузере.

Вы должны увидеть страницу NGINX по умолчанию, как показано ниже.


Шаг 3. Установка MariaDB

MariaDB — замена MySQL, система управления базами данных по умолчанию в CentOS 7. Это форк системы управления реляционными базами данных MySQL, разработанный сообществом.

MariaDB поставляется с репозиториями CentOS по умолчанию, поэтому для его установки выполните следующую команду.

После завершения установки запустите и включите службу.

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

Вам будет предложено изменить пароль администратора MariaDB, удалить учетные записи анонимных пользователей, отключить вход в систему root за пределами локального хоста, удалить тестовые базы данных и перезагрузить привилегии. Рекомендуется ответить «да» на эти параметры, чтобы защитить сервер базы данных.

Шаг 4. Установка PHP

PHP — это широко используемый язык сценариев, подходящий для веб-разработки. По умолчанию PHP 5.4 доступен в репозиториях CentOS 7 Yum. Сейчас он устарел и больше не поддерживается. Мы рекомендуем вам установить последнюю стабильную версию PHP 7.x, так как в ней много улучшений и новых функций.

Чтобы установить последнюю версию PHP, нам нужно добавить репозиторий REMI. Начнем с установки пакета «yum-utils» для настройки репозиториев yum и установки репозитория REMI.

Настройте репозиторий для установки PHP 7.3 (или последней стабильной версии) с помощью следующей команды. Если есть более поздняя версия, просто измените команду, изменив номера версий в команде, чтобы они соответствовали выпуску, который вы хотите установить.

Теперь мы можем установить PHP 7.3 вместе с его общими зависимостями с помощью команды ниже,

Проверьте версию PHP с помощью приведенной ниже команды

Вывод должен выглядеть примерно так, как показано ниже,

По умолчанию PHP-FPM настроен на пользователя «apache» на порту 9000. Потребуется изменить пользователя на nginx.

Сохраните файл и измените владельца каталога «/var/lib/php» с «apache» на «nginx».

Запустите и включите PHP-FPM.

Шаг 5. Настройка Nginx для обработки PHP-страниц

Создайте новый файл конфигурации NGINX с помощью следующей команды.

Вставьте приведенный ниже синтаксис во вновь созданный файл конфигурации.

Примечание. Замените your_server_ip фактическим IP-адресом вашего сервера.

Сохраните файл и перезапустите NGINX, чтобы изменения вступили в силу.

Заключение

Теперь, когда вы успешно установили стек LEMP, вы готовы к размещению любого типа динамических веб-сайтов/программных приложений.

Если действия, перечисленные выше в этой статье, не помогли решить вашу проблему, отправьте запрос в службу поддержки, и мы будем рады рассмотреть ее.

Стек программного обеспечения LEMP – это группа программного обеспечения с открытым исходным кодом, которое обычно устанавливается вместе, чтобы позволить серверу размещать динамические веб-сайты и веб-приложения. Этот термин на самом деле является аббревиатурой, обозначающей операционную систему Linux с веб-сервером ENginx (который заменяет компонент Apache в стеке LAMP). Данные сайта хранятся в базе данных на основе MySQL, а динамическое содержимое обрабатывается PHP.

В этом руководстве мы получим стек LEMP с PHP 7.4, установленным на сервере CentOS 7, с использованием MariaDB в качестве системы управления базой данных.MariaDB работает как замена исходному серверу MySQL, что на практике означает, что вы можете переключиться на MariaDB без внесения каких-либо изменений в конфигурацию или код вашего приложения.

Предпосылки

Прежде чем приступить к работе с этим руководством, на вашем сервере должна быть настроена отдельная учетная запись пользователя без полномочий root. Вы можете узнать, как это сделать, выполнив шаги 1–4 в начальной настройке сервера для CentOS 7.

Шаг 1 — Установка Nginx

Чтобы отображать веб-страницы для посетителей нашего сайта, мы собираемся использовать высокопроизводительный веб-сервер Nginx. Чтобы получить последнюю версию Nginx, мы сначала установим репозиторий EPEL, который содержит дополнительное программное обеспечение для операционной системы CentOS 7.

Чтобы добавить репозиторий CentOS 7 EPEL, выполните следующую команду:

Поскольку мы используем команду sudo, эти операции выполняются с привилегиями root. Он попросит вас ввести пароль вашего обычного пользователя, чтобы убедиться, что у вас есть разрешение на выполнение команд с привилегиями root. Вам также будет предложено подтвердить установку, поэтому нажмите Y, чтобы продолжить.

Теперь, когда репозиторий EPEL установлен на вашем сервере, установите Nginx с помощью следующей команды yum:

После завершения установки запустите службу Nginx с помощью:

Вы можете сразу же провести выборочную проверку, чтобы убедиться, что все прошло по плану, посетив общедоступный IP-адрес вашего сервера в веб-браузере (см. примечание под следующим заголовком, чтобы узнать, какой у вас общедоступный IP-адрес, если вы не эта информация уже есть):

Вы увидите стандартную веб-страницу CentOS 7 Nginx, предназначенную для информационных и тестовых целей. Это должно выглядеть примерно так:

CentOS 7 Nginx по умолчанию

Если вы видите эту страницу, ваш веб-сервер установлен правильно.

Чтобы включить запуск Nginx при загрузке, выполните следующую команду:

Как найти общедоступный IP-адрес вашего сервера

Если вы не знаете общедоступный IP-адрес вашего сервера, узнать его можно несколькими способами. Обычно это адрес, который вы используете для подключения к серверу через SSH.

Из командной строки это можно сделать несколькими способами. Во-первых, вы можете использовать инструменты iproute2, чтобы получить свой адрес, набрав следующее:

Это вернет вам одну или две строки назад. Оба они являются правильными адресами, но ваш компьютер может использовать только один из них, поэтому не стесняйтесь пробовать каждый из них.

Альтернативный метод заключается в том, чтобы использовать стороннюю сторону, чтобы сообщить вам, как она видит ваш сервер. Вы можете сделать это, запросив у определенного сервера ваш IP-адрес:

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

Шаг 2 — Установка MariaDB

Теперь, когда наш веб-сервер запущен и работает, пришло время установить MariaDB, замену MySQL. MariaDB — это форк системы управления реляционными базами данных MySQL, разработанный сообществом.

Опять же, мы можем использовать yum для приобретения и установки нашего программного обеспечения. На этот раз мы также установим некоторые другие вспомогательные пакеты, которые помогут нам заставить наши компоненты взаимодействовать друг с другом:

Когда установка будет завершена, нам нужно запустить MariaDB с помощью следующей команды:

Теперь, когда наша база данных MariaDB запущена, мы хотим запустить сценарий безопасности, который удалит некоторые опасные значения по умолчанию и заблокирует доступ к нашей базе данных. Запустите интерактивный скрипт, выполнив:

В приглашении будет запрошен ваш текущий пароль администратора MariaDB. Поскольку вы только что установили MariaDB, у вас, скорее всего, ее не будет, поэтому оставьте поле пустым, нажав Enter. Затем подсказка спросит вас, хотите ли вы установить пароль root. Введите Y и следуйте инструкциям:

Чтобы ответить на остальные вопросы, вы должны нажимать клавишу «ВВОД» в каждом запросе, чтобы принять значения по умолчанию. При этом будут удалены некоторые примеры пользователей и баз данных, отключен удаленный вход в систему root и загружены эти новые правила, чтобы MySQL немедленно учитывал внесенные нами изменения.

Последнее, что вам нужно сделать, это разрешить запуск MariaDB при загрузке. Для этого используйте следующую команду:

На данный момент ваша система базы данных настроена, и мы можем двигаться дальше.

Шаг 3 — Установка PHP

PHP — это компонент нашей установки, который будет обрабатывать код для отображения динамического содержимого. Он может запускать сценарии, подключаться к нашим базам данных MySQL для получения информации и передавать обработанный контент на наш веб-сервер для отображения.

Версия PHP, доступная по умолчанию на серверах CentOS 7, устарела, и по этой причине нам потребуется установить сторонний репозиторий пакетов, чтобы получить PHP 7+ и установить его на ваш сервер CentOS 7. Remi – это популярный репозиторий пакетов, содержащий самые последние версии PHP для серверов CentOS.

Чтобы установить репозиторий Remi для CentOS 7, выполните:

После завершения установки вам нужно будет запустить команду, чтобы включить репозиторий, содержащий предпочитаемую вами версию PHP. Чтобы проверить, какие выпуски PHP 7+ доступны в репозитории Remi, запустите:

Вы увидите следующий вывод:

В этом руководстве мы установим PHP 7.4, который в настоящее время является самой обновленной стабильной версией PHP. Чтобы включить правильный пакет Remi для установки PHP 7.4, запустите:

Теперь мы можем использовать yum для установки PHP, как обычно. Следующая команда установит все необходимые пакеты для настройки PHP 7.4 в Nginx и позволит ему подключаться к базам данных на базе MySQL:

Чтобы убедиться, что PHP доступен в выбранной вами версии, запустите:

Вы увидите следующий вывод:

Теперь PHP успешно установлен в вашей системе. Далее нам нужно внести несколько изменений в конфигурацию по умолчанию. Чтобы облегчить редактирование файлов в CentOS, мы сначала установим nano, более удобный текстовый редактор, чем vi:

Теперь найдите директивы пользователя и группы. Если вы используете nano , вы можете нажать CTRL + W для поиска этих терминов в открытом файле.

Вы заметите, что для переменных пользователя и группы задано значение apache . Нам нужно изменить их на nginx :

Далее найдите директиву listen. По умолчанию php-fpm будет прослушивать определенный хост и порт через TCP. Мы хотим изменить этот параметр, чтобы он прослушивал локальный файл сокета, поскольку это повышает общую производительность сервера. Измените строку, содержащую директиву listen, на следующую:

Наконец, нам нужно изменить настройки владельца и группы для файла сокета, который мы только что определили в директиве listen. Найдите директивы listen.owner, listen.group и listen.mode. Эти строки закомментированы по умолчанию. Раскомментируйте их, удалив предыдущий ; знак в начале строки. Затем измените владельца и группу на nginx:

Сохраните и закройте файл, когда закончите редактирование. Если вы используете nano , нажмите CTRL + X , затем Y и ENTER .

Чтобы включить и запустить службу php-fpm, запустите:

Теперь ваша среда PHP готова. Далее мы настроим Nginx так, чтобы он отправлял все запросы PHP-скриптов на обработку php-fpm.

Шаг 4. Настройка Nginx для обработки PHP-страниц

Теперь у нас установлены все необходимые компоненты. Единственное изменение конфигурации, которое нам еще нужно сделать, это указать Nginx использовать наш PHP-процессор для динамического содержимого.

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

Однако при установке по умолчанию этот каталог пуст. Мы создадим новый файл, который будет веб-сайтом PHP по умолчанию на этом сервере, который переопределит блок сервера по умолчанию, определенный в файле /etc/nginx/nginx.conf.

Сначала откройте новый файл в каталоге /etc/nginx/conf.d:

Скопируйте следующий блок определения сервера PHP в файл конфигурации и не забудьте заменить директиву server_name так, чтобы она указывала на доменное имя или IP-адрес вашего сервера:

Сохраните и закройте файл, когда закончите.

Затем перезапустите Nginx, чтобы применить изменения:

Теперь ваш веб-сервер полностью настроен. На следующем этапе мы проверим интеграцию PHP с Nginx.

Шаг 5. Проверка обработки PHP на вашем веб-сервере

Теперь, когда ваш веб-сервер настроен, мы можем создать тестовый PHP-скрипт, чтобы убедиться, что Nginx правильно обрабатывает .php-скрипты с помощью php-fpm .

Перед созданием скрипта мы изменим настройки владения по умолчанию в корневом каталоге документа Nginx, чтобы наш обычный пользователь sudo мог создавать файлы в этом месте.

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

Теперь мы создадим тестовую страницу PHP, чтобы убедиться, что веб-сервер работает должным образом.

Создайте новый файл PHP с именем info.php в каталоге /usr/share/nginx/html:

Следующий код PHP будет отображать информацию о текущей среде PHP, работающей на сервере:

По завершении сохраните и закройте файл.

Теперь мы можем проверить, может ли наш веб-сервер правильно отображать содержимое, созданное скриптом PHP. Перейдите в браузер и введите имя хоста или IP-адрес вашего сервера, а затем /info.php :

Вы увидите страницу, похожую на эту:

CentOS 7 PHP 7.4 информация

После проверки соответствующей информации о вашем PHP-сервере на этой странице лучше всего удалить созданный вами файл, так как он содержит конфиденциальную информацию о вашей среде PHP и вашем сервере CentOS.Вы можете использовать rm для удаления этого файла:

Вы всегда можете восстановить этот файл, если он понадобится позже.

Заключение

В этом руководстве вы создали гибкую основу для обслуживания веб-сайтов и приложений PHP для ваших посетителей, используя Nginx в качестве веб-сервера и последнюю версию выпуска PHP. Вы настроили Nginx для обработки запросов PHP через php-fpm, а также настроили базу данных MariaDB для хранения данных вашего веб-сайта.

Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!

Присоединяйтесь к нашему сообществу DigitalOcean, насчитывающему более миллиона разработчиков, бесплатно! Получайте помощь и делитесь знаниями в нашем разделе "Вопросы и ответы", находите руководства и инструменты, которые помогут вам расти как разработчику и масштабировать свой проект или бизнес, а также подписывайтесь на интересующие вас темы.

Как установить стек Nginx, MySQL, PHP v7 (LEMP) на CentOS 7< бр />

В этом руководстве вы узнаете, как установить стек LEMP на сервер CentOS 7. Это одна из самых популярных групп программного обеспечения, которое вы можете использовать для создания своего веб-сайта. Давайте приступим к делу.

Что такое ЛЭМП?

LEMP — это набор программ, совместно работающих для обслуживания динамических веб-сайтов или веб-приложений. Он состоит из Linux (операционная система сервера), ENginX/Nginx (приложение веб-сервера), MySQL (система управления базой данных) и PHP (язык сценариев).

LEMP – это популярная альтернатива LAMP, в которой вместо Nginx используется Apache, а основное внимание уделяется обслуживанию статических веб-страниц. Существуют также WAMP и MAMP, которые заменяют Linux на Windows и macOS.

Прежде чем мы начнем руководство по установке LEMP, убедитесь, что ваш сервер или VPS работает на CentOS 7. Если вы используете план хостинга Hostinger Linux VPS, установите CentOS с вкладки «Серверы» в hPanel.

Как установить стек LEMP

Теперь, когда Linux установлен, мы проведем вас через установку Nginx, MySQL и PHP.

Это руководство требует, чтобы у вас был root-доступ и вы использовали SSH-клиент, такой как PuTTY (Windows) или терминальную оболочку (Linux, macOS), для подключения к вашему VPS.

Шаг 1. Установка Nginx на CentOS 7

Страница приветствия Nginx после успешной установки Nginx

  1. Поскольку Nginx недоступен в репозиториях CentOS по умолчанию, нам нужно сначала установить репозиторий EPEL, выполнив эту команду:
  2. Далее мы установим сам Nginx:
  3. После завершения установки введите одну за другой следующие строки, чтобы активировать Nginx:
  4. Проверьте, запущен ли Nginx, посетив общедоступный IP-адрес вашего сервера. Ваша страница должна выглядеть так:
  5. Используйте команду sudo, если у вас нет root-доступа

    Шаг 2. Установка MySQL (MariaDB)

    Мы собираемся установить MySQL с помощью сервиса MariaDB, ответвления MySQL от сообщества.

    1. MariaDB включена в репозитории CentOS по умолчанию, поэтому мы можем просто запустить команду yum, чтобы установить ее:
    2. После завершения установки включите и запустите службу MariaDB:
    3. Защитите установку, выполнив следующую команду:

    Шаг 3. Установка PHP версии 7.3

    1. Нам необходимо загрузить и установить дополнительный репозиторий CentOS, содержащий необходимые пакеты для PHP версии 7.3. Запустите эти команды одну за другой:
    2. Включить репозиторий php73, который по умолчанию отключен:
    3. После этого установите пакет PHP:

    Шаг 4. Настройка Nginx для работы с PHP 7

    Последнее, что нам нужно сделать, это настроить Nginx для работы с PHP 7. Вот как это сделать:

      Создайте новый файл конфигурации Nginx, запустив текстовый редактор nano:

    Затем вставьте этот код:

    ВАЖНО! Замените your_server_ip на фактический IP-адрес вашего сервера.

    Найдите и измените эти строки:

    • от пользователя = apache к пользователю = nginx
    • группа = apache для группы = nginx
    • listen.owner = никто не слушает.owner = nginx
    • listen.group = никто не слушает.group = nginx

    Заключение

    Стек LEMP (Linux, ENginx, MySQL, PHP) — идеальный выбор для обслуживания динамических веб-страниц или веб-приложений. К счастью, процесс установки прост. Обладая базовыми знаниями об интерфейсе командной строки, вы сможете легко настроить все необходимые программы на своем VPS.

    В этой статье вы узнали, как установить LEMP на CentOS 7. В заключение давайте еще раз рассмотрим все шаги:

    1. Получите репозиторий EPEL и установите Nginx на свой сервер.
    2. Установите и настройте MariaDB
    3. Установите PHP и все его распространенные пакеты.
    4. Настройте Nginx для работы с PHP.

    Удачи и не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы!

    Эдгарас — опытный администратор серверов в Hostinger. Он следит за тем, чтобы каждый сервер работал на полную мощность и имел все последние технологические достижения. В свободное от работы время Эдгарас любит кататься на лыжах и исследовать мир.


    Автор Rahul, 11 февраля 2016 г. Чтение: 4 минуты Обновлено: 31 мая 2019 г.

    Несколько дней назад была выпущена версия PHP 7.2. Который имеет ряд изменений и улучшений по сравнению с PHP версии 7.X. Эта статья поможет вам установить PHP 7, NGINX и MySQL 5.6 в операционных системах CentOS / RHEL 7.4 и 6.9. Это руководство было протестировано с CentOS 7.4, поэтому все команды служб используются с systemctl. Для пользователей CentOS 6 измените все команды systemctl, соответствующие служебным командам.


    Шаг 1. Настройка репозитория Yum

    На первом этапе установите все необходимые репозитории yum в вашей системе, используемые в оставшемся руководстве для различных установок. Вы добавляете репозитории серверов сообщества REMI, EPEL, Webtatic и MySQL в свою систему.

    CentOS/RHEL 7

    CentOS/RHEL 6

    Шаг 2. Установите PHP 7

    Теперь установите пакеты PHP 7 из репозитория remi-php72 rpm, используя следующую команду.

    Теперь установите необходимые модули php. Используйте следующую команду, чтобы получить список доступных модулей в репозиториях yum.

    Теперь проверьте все перечисленные модули в приведенной выше команде и установите необходимые модули, как показано ниже.

    Шаг 3. Установите NGINX

    NGINX – это популярный веб-сервер, используемый в системах Linux. Давайте установим веб-сервер Nginx, используя следующую команду в вашей системе.

    Теперь запустите службу nginx и разрешите запуск при загрузке с помощью приведенных ниже команд.

    Шаг 4. Установите MySQL 5.6

    На шаге 1 мы уже установили необходимый репозиторий yum в вашей системе. Давайте используем следующую команду для установки сервера MySQL в вашей системе.

    Вы должны выполнить mysql_secure_installation один раз после установки сервера MySQL, используя следующую команду. Сначала он предложит установить пароль для учетной записи root, после чего задайте несколько вопросов, я предлагаю сказать да ( y ) для всех.

    Теперь перезапустите службу MySQL и включите запуск при загрузке системы.

    Шаг 5. Настройка PHP-FPM

    Теперь используйте следующую команду для установки пакета php7 fpm с помощью следующей команды.

    Шаг 6. Создание виртуального хоста Nginx

    Наконец выполните настройку Nginx VirtualHost. В этом примере мы редактируем файл конфигурации по умолчанию.

    и внесите изменения, как показано ниже.

    Вы должны внести одинаковые изменения во все настроенные виртуальные хосты.

    Шаг 7. Перезапустите службы

    После установки всех служб в вашей системе запустите все необходимые службы.

    Шаг 8. Откройте порт в брандмауэре

    Шаг 9. Проверка установки

    Давайте проверим установленные версии пакетов в системе, используя следующие команды одну за другой.

    Читайте также: