Как настроить php на nginx

Настройка PHP-FPM в Nginx на Ubuntu 22.04

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

Настройка PHP -fpm с Nginx на Ubuntu 22.04 – это очень простой и понятный процесс, который может занять до 15 минут. Давайте начнем!

Шаг 1. Обновление системы

Свежая установка Ubuntu 22.04 нуждается в обновлении системы, поэтому нам необходимо выполнить следующие команды.

sudo apt update -y && sudo apt upgrade -y

Шаг 2. Установите веб-сервер Nginx

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

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

sudo systemctl start nginx && sudo systemctl enable nginx

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

Следующим шагом будет установка расширения php-fpm вместе с другими расширениями php.

sudo apt install software-properties-common ca-certificates lsb-release apt-transport-https -y LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php sudo apt update

После установки зависимостей мы готовы к установке PHP — FPM .

sudo apt install php8.1 php8.1-fpm php8.1-mysql php8.1-mbstring php8.1-xml php8.1-curl

После установки запустите и включите php8.1-fpm.service

sudo systemctl start php8.1-fpm.service && sudo systemctl enable php8.1-fpm.service

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

sudo systemctl status php8.1-fpm.service

Вы должны получить следующее сообщение:

● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager Loaded: загружен (/lib/systemd/system/php8.1-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2022-09-10 15:31:29 CEST; 1min 52s ago Docs: man:php-fpm8.1(8) Main PID: 16869 (php-fpm8.1) Status: "Процессы активны: 0, простаивают: 2, Запросы: 0, медленный: 0, Трафик: 0req/sec" Задачи: 3 (limit: 4575) Memory: 8.9M CPU: 482ms CGroup: /system.slice/php8.1-fpm.service

Шаг 4. Настройка PHP — FPM с Nginx

Мы должны создать файл виртуального хоста нашего доменного имени. Зайдите в каталог конфигурации Nginx и создайте файл.

cd /etc/nginx/conf.d/ && sudo nano yourdomain.com.conf

Вставьте следующие строчки кода.

Читайте также:  Check if char is in string php

Проверьте синтаксис конфигурации Nginx, чтобы убедиться, что он в порядке.

Вы должны получить следующий результат:

root@vps:/etc/nginx/conf.d# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Перезапустите службу Nginx.

sudo systemctl restart nginx

Далее необходимо создать пользовательский пул в конфигурации PHP8.1- FPM . Расположение конфигураций пула – * /etc/php/8.1/fpm/pool.d* Конфигурация пула по умолчанию – www.conf, но мы не будем вносить изменения в этот файл, поскольку рекомендуется использовать отдельные файлы для каждой новой конфигурации и сайта.

Сначала нам нужно создать группу и пользователя, затем добавить пользователя в группу

groupadd php_fpm_group useradd -g php_fpm_group php_fpm_user

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

cd /etc/php/8.1/fpm/pool.d && touch yourdomain.conf

Откройте файл yourdomain.conf вашим любимым редактором и вставьте следующие строки кода:

[имя_пула] user = php_fpm_user group = php_fpm_group listen = /var/run/php/php8.1-fpm.sock listen.owner = www-data listen.group = www-data pm = dynamic pm.max_children = 30 pm.start_servers = 5 pm.process_idle_timeout = 20s

Поясним параметры в созданном выше файле:

Имя пула должно быть специфичным для каждой новой конфигурации пула. user и group должны быть созданными пользователем и группой для нашего сайта, а listen.owner и listen.group – пользователем и группой, под которыми работает Nginx. listen – это путь к sock-файлу PHP8.1.

  • pm.max_children предназначен для установки максимального количества потомков, которые могут быть запущены одновременно.
  • pm.start_servers – количество дочерних серверов, создаваемых при запуске.
  • pm.process_idle_timeout используется только в том случае, если pm установлен в значение dynamic и представляет собой число желаемых максимальных незанятых серверных процессов. Значение pm=dynamic означает, что количество дочерних процессов устанавливается динамически на основе следующих директив.

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

Читайте также:  Java вывод массива экран

Последним шагом будет создание файла phpinfo.php в корневой директории вашего сайта.

cd /var/www/html/ && sudo nano phpinfo.php

Открыв файл, вставьте следующие строки кода:

Сохраните файл, закройте его и откройте следующий URL : http://yourdomain.com/phpinfo.php

В Environment и PHP Variables вы можете заметить, что USER и HOME установлены в php_fpm_user и /home/php_fpm_user, соответственно. Это является доказательством того, что PHP — FPM успешно сконфигурирован с Nginx.

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Источник

Как настроить php на nginx

  • How to maintain polyglot persistence for microservices Managing microservice data may be difficult without polyglot persistence in place. Examine how the strategy works, its challenges.
  • Top developer relations trends for building stronger teams Learn about enterprise trends for optimizing software engineering practices, including developer relations, API use, community .
  • 5 noteworthy challenges of automotive software development Modern cars are loaded with technology, but creating in-vehicle applications isn’t always a cakewalk. Here are five unique .
  • The basics of implementing an API testing framework With an increasing need for API testing, having an efficient test strategy is a big concern for testers. How can teams evaluate .
  • The potential of ChatGPT for software testing ChatGPT can help software testers write tests and plan coverage. How can teams anticipate both AI’s future testing capabilities .
  • Retail companies gain DORA metrics ROI from specialist tools DORA metrics and other measures of engineering efficiency are popping up in add-ons to existing DevOps tools. But third-party .
  • How to create and manage Amazon EBS snapshots via AWS CLI EBS snapshots are an essential part of any data backup and recovery strategy in EC2-based deployments. Become familiar with how .
  • Prices for cloud infrastructure soar 30% Tough macroeconomic conditions as well as high average selling prices for cloud computing and storage servers have forced .
  • Deploy a low-latency app with AWS Local Zones in 5 steps Once you decide AWS Local Zones are right for your application, it’s time for deployment. Follow along in this step-by-step video.
  • XSS zero-day flaw in Zimbra Collaboration Suite under attack A manual workaround is currently available for a cross-site scripting vulnerability in Zimbra Collaboration Suite, though a patch.
  • Rein in cybersecurity tool sprawl with a portfolio approach Market consolidation can counterintuitively exacerbate cybersecurity tool sprawl, with many products offering overlapping .
  • Microsoft: Government agencies breached in email attacks While Microsoft mitigated the attacks and found no evidence of further access beyond the email accounts, the Outlook breaches .
  • AWS Control Tower aims to simplify multi-account management Many organizations struggle to manage their vast collection of AWS accounts, but Control Tower can help. The service automates .
  • Break down the Amazon EKS pricing model There are several important variables within the Amazon EKS pricing model. Dig into the numbers to ensure you deploy the service .
  • Compare EKS vs. self-managed Kubernetes on AWS AWS users face a choice when deploying Kubernetes: run it themselves on EC2 or let Amazon do the heavy lifting with EKS. See .
Читайте также:  Php change key from array

Источник

Оцените статью