Как перезагрузить php fpm

How to reload/restart php7.0-fpm / php5.0-fpm service

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

How do I edit php.ini or www.conf file?

To edit php.ini type:
$ sudo vi /etc/php5/php.ini
OR
$ sudo vi /etc/php/7.0/fpm/php.ini
To edit php-fpm config file:
$ sudo vi /etc/php/7.0/fpm/php-fpm.conf
$ sudo vi /etc/php/7.0/fpm/pool.d/www.conf
Once edited, save and close the file. Now you need to run command as per your Linux/Unix distro version after editing the file.

Start php-fpm on CentOS/RHEL 7

$ sudo systemctl start php-fpm

Stop php-fpm CentOS/RHEL 7

$ sudo systemctl stop php-fpm

Reload php-fpm CentOS/RHEL 7

$ sudo systemctl reload php-fpm

Restart php-fpm CentOS/RHEL 7

$ sudo systemctl restart php-fpm

Start/stop/restart/reload php-fpm on CentOS/RHEL 6.x or older

Type the following command:
$ sudo service php-fpm start #
$ sudo service php-fpm stop #
$ sudo service php-fpm restart #
$ sudo service php-fpm reload #

How to start/stop/restart/reload php5-fpm (php version 5.x) on Ubuntu/Debian Linux

$ sudo service php5-fpm start
$ sudo service php5-fpm stop
$ sudo service php5-fpm restart #
$ sudo service php5-fpm reload #
OR if you are using systemd based distro such as Ubuntu Linux 16.04+ LTS or Debian Linux 8.x+:
$ sudo systemctl start php7.0-fpm.service
$ sudo systemctl stop php5-fpm.service
$ sudo systemctl restart php5-fpm.service #
$ sudo systemctl reload php5-fpm.service #

How to start/stop/restart/reload php7.0-fpm (php version 7.x) on Ubuntu/Debian Linux

$ sudo service php7.0-fpmstart
$ sudo service php7.0-fpm stop
$ sudo service php7.0-fpm restart #
$ sudo service php7.0-fpm reload #
OR if you are using systemd based distro such as Ubuntu Linux 16.04+ LTS or Debian Linux 8.x+:
$ sudo systemctl start php7.0-fpm.service
$ sudo systemctl stop php7.0-fpm.service
$ sudo systemctl restart php7.0-fpm.service #
$ sudo systemctl reload php7.0-fpm.service #

The syntax is:
# /etc/init.d/php-fpm start
# /etc/init.d/php-fpm stop
# /etc/init.d/php-fpm restart #

The syntax is
# /usr/local/etc/rc.d/php-fpm start
# /usr/local/etc/rc.d/php-fpm stop
# /usr/local/etc/rc.d/php-fpm reload #
# /usr/local/etc/rc.d/php-fpm restart #
OR use the service command:
# service php-fpm start
# service php-fpm stop
# service php-fpm restart
# service php-fpm reload

🐧 Get the latest tutorials on Linux, Open Source & DevOps via

Источник

How to restart php-fpm inside a docker container?

I’m using docker and my container is build over php:5.6-fpm image from php official repo. Is it somehow possible to restart/reload php-fpm from inside a container?

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

5 Answers 5

php-fpm is a process manager which supports the USER2 signal, which is used to reload the config file.

From inside the container:

You don’t have to go inside the container

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

You can also just restart the container..

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Not the answer you’re looking for? Browse other questions tagged php docker or ask your own question.

Linked

Related

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.9.16.40232

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

Установка и базовая настройка nginx и php-fpm для разработки проектов локально в Ubuntu 16.04

Здравствуй, уважаемый пользователь Хабрахабра. Мое повествование будет о том, как подготовить почву для локальной веб-разработки проектов в операционной системе Ubuntu 16.04.1 LTS.

В данной статье хочется развеять и разъяснить возможные трудности связанные с установкой и настройкой ПО, которое требуется для современной веб-разработки, с которыми возможно сталкиваются начинающие разработчики и не только.

Технологии которые будут использованы в статье: nginx, php-fpm.

Перед началом повествования, хочу отметить, что я проделывал все эти действия на «голой» системе.
Я буду работать с пакетным менеджером aptitude. Так же рекомендую обновить индекс пакетов и сами пакеты перед установкой ПО. В статье мы проделаем эти действия вместе.

Установка пакетного менеджера aptitude, обновление индекса и пакетов

Обновляем пакеты (команда обновит все пакеты, для которых есть новые версии, если потребуется удаление пакетов, то оно будет выполнено).

Установка и настройка nginx (версия >= 1.10.0)

Проверяем версию, чтобы убедиться что не установили старую, то есть ниже 1.10.0.

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Установку и запуск произвели, теперь пойдем в каталог туда куда установлен наш nginx и посмотрим на его структуру. Каталог nginx находится по такому пути:

Наc интересуют в данный момент два каталога, которые вы видите на скриншоте. Это каталоги sites-available и sites-enabled.

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Давайте перейдем в каталог sites-available и начнем конфигурировать наш виртуальный хост (сайт).

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

В случае установки nginx «с нуля», именно «с нуля», так как при удалении nginx командой
или конфигурационные файлы остаются и если вы вдруг будете не понимать, почему nginx не работает и захотите его переустановить (обычно к такому прибегают начинающие пользователи Linux), то и после переустановки он не будет корректно работать, из-за того что в старых конфигурационных файлах (они не удаляются после удаления командой remove) прописаны неверные настройки, их придется удалить, либо настроить верно, только тогда nginx заработает.

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

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Создадим свой конфигурационный файл, который будет соответствовать названию домена нашего локального сайта (или реального, если уже знаете его название). Это удобно, в будущем, когда будет много конфигурационных файлов, то это избавит вас от путаницы в них. У меня этот файл будет называться project.local.

Посмотрим что получилось.

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Теперь откроем его в редакторе, я открою его в nano.

Видим что он у нас пустой. Теперь перейдем к формированию нашего файла. Нужно привести конфигурацию к такому виду, как написано ниже. Я опишу только жизненно важные директивы этого файла, описывать остальное не буду, так как это не является на данный момент важным, все-таки у нас тема базовой настройки. Этих настроек с «горкой» хватит для разработки проектов локально, не только мелких, но и довольно крупных. В следующих статьях опишу отдельно каждые использованные директивы (именно так называются строки, например server_name) этого файла.

Смотрите комментарии прям в конфигурационном файле.

Сохраняем файл. Теперь нам надо проверить, нет ли в нем ошибок. Сделать мы это можем командой.

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

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Теперь нам надо активировать конфигурационный файл, в каталоге /etc/nginx/sites-enabled/ необходимо создать симлинк (символическая ссылка). Если у вас nginx был установлен «с нуля», то в этом каталоге есть симлинк на файл default, про который рассказывалось выше, его можно удалить, если он вам не требуется. Переходим в нужный каталог.

Посмотрим на наш созданный симлинк.

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Чтобы убедиться что мы делаем еще все верно опять запустим команду.

Если все ок, едем дальше.

Файл hosts

Этот файл находится по пути /etc/hosts. Наличие в нем записей, позволяет запускать nginx с использованием в качестве домена localhost. В этом файле можно присваивать альтернативные псевдонимы, например для нашего проекта project.local, мы присвоим домен project.local.

Открываем файл в редакторе nano.

У вас в этом файле будет и другая информация, просто игнорируйте ее. Вам всего лишь нужно добавить строку как на моем скриншоте.

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Не забываем сохранить файл. На этом настройка файла hosts закончена.

Установка php-fpm (>=7.0)

Проверяем установленную версию, на всякий случай, хотя в Ubuntu 16.04.1 в репозиториях лежит именно 7.0 версия.

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Убеждаемся что все ок. Стартуем php-fpm.

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

На этом установка и настройка php-fpm закончена. Правда, это все. Это не магия, путь до сокета php-fpm у нас уже был прописан в конфигурационном файле. Конечно, вам могут понадобиться какие-либо расширения php для разработки личных проектов, но их вы можете поставить по мере того как они будут требоваться.

Теперь пойдем для в каталог с нашим проектом, у меня он лежит по такому пути.

Поднимемся на каталог выше и сделаем права 777 (то есть мы будем делать полные права каталогу с нашим проектом project.local). В будущем это избавим нас от лишних проблем.

На этом настройка ПО завершена, давайте создадим тестовый файл в нашем рабочем каталоге project.local и убедимся что все работает. Я создам файл index.php с таким содержанием.

Идем в браузер и видим что у нас все прекрасно работает! Интерпретатор php в том числе.

Источник

Настройка PHP-FPM

Интерпретатор языка программирования PHP может работать в нескольких режимах. Он может быть интегрирован в веб-сервер в виде специального модуля или использоваться как отдельный сервис php-fpm. Аббревиатура FPM расшифровывается как Fastcgi Process Manager. Это сервис, который запускает несколько процессов, которые могут выполнять PHP скрипты. Процессы могут получить скрипты, которые надо выполнить по TCP или Unix сокетам.

Обычно php-fpm используется вместе с веб-сервером Nginx. В этой статье мы рассмотрим как выполняется настройка PHP-FPM для максимально эффективной работы на вашем сервере.

Настройка PHP-FPM

Менеджер процессов PHP-FPM может запускать несколько процессов обработчиков. Обычно для каждого отдельного сайта принято использовать отдельный обработчик, это позволяет распределить нагрузку и отслеживать статистику по каждому сайту. Поэтому есть общий конфигурационный файл php-fpm и конфигурационный файл для каждого обработчика, который обычно называется конфигурационным файлом пула. Обработчик принято называть пулом потому что на самом деле обработкой занимается не один процесс, а целая группа процессов, у каждого из которых есть несколько потоков. Всё это обеспечивает быстрое выполнение скриптов.

1. Установка компонентов

Сервис php-fpm поставляется вместе с интерпретатором php. Установка php-fpm Ubuntu выполняется такой командой:

sudo apt install php-fpm

Кроме того нам понадобится веб-сервер Nginx, потому что php-fpm чаще всего используется вместе с этим веб-сервером:

sudo apt install nginx

2. Конфигурационные файлы

В этой инструкции мы будем рассматривать настройку PHP-FPM на примере Ubuntu. Основной конфигурационный файл находится в такому пути:

Обратите внимание, что это не php.ini файл, а файл настройки именно FPM процессов. Файл php.ini находится в этой же папке:

А вот файлы конфигурации пулов находятся в каталоге /etc/php/7.4/fpm/pool.d/. По умолчанию там находится файл пула по умолчанию www.conf:

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

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

3. Создание пула

Скопируйте файл пула, например losst.conf в папке /etc/php/7.4/fpm/pool.d/ скопируйте в него содержимое файла www.conf. В конце статьи я приведу полностью рабочий конфигурационный файл, но лучше всё же использовать конфигурацию вашей версии PHP:

cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/losst.conf

Теперь откройте этот файл в текстовом редакторе, например в vim:

sudo vi /etc/php/7.4/fpm/pool.d/losst.conf

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Далее надо изменить группу и пользователя, от имени которых будут запускаться процессы пула. Это важно, поскольку у процесса должен быть доступ к файлам PHP, которые надо выполнить. Обычно в Ubuntu для таких целей используется пользователь и группа www-data. От имени этого же пользователя обычно запускается веб-сервер:

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Обычно, если вы получаете ошибку permission denied при интерпретации php файлов в php-fpm, означает, что процесс php-fpm запущен от имени не того пользователя или включена строгая политика SELinux.

4. Настройка сокета

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Если вы используйте файловый сокет, к нему должен быть доступ у веб-сервера, поэтому надо сделать владельцами файла того пользователя и группу, от имени которых запущен веб-сервер, в данном случае www-data и дать им все права на него:

listen.owner = www-data
listen.group = www-data
listen.mode = 0660

Если сокет сетевой, то в этом нет необходимости. Для сетевого сокета можно дополнительно указать с каких адресов можно к нему подключаться. Например, только от 127.0.0.1:

5. Настройка процессов

С помощью параметра pm можно настроить сколько дочерних процессов будет запускаться для этого пула и когда. Есть три режима работы:

Режим static не выгоден, потому что вне зависимости от нагрузки потребляется много памяти и процессорного времени на поддержание работы процессов. Более интересны режимы ondemand и dynamic. Давайте будем использовать режим dynamic. Этот режим имеет три настройки:

Для режима static надо указать только pm.max_children. Для режима ondemand кроме pm.max_children надо указать pm.process_idle_timeout этот параметр означает через какой промежуток времени простоя процесс будет завершен.

Давайте разберемся с режимом dynamic. Запускать много дочерних процессов при старте не надо, в большинстве случаев 2-3 будет достаточно:

Минимальное количество процессов в режиме ожидания тоже большое не нужно, это запас, чтобы php-fpm смог быстро обработать новые запросы не тратя время на запуск новых процессов. Однако это значение должно быть не меньше pm.start_servers, иначе ничего не заработает:

Максимальное количество процессов определяет как быстро процессы будут завершаться при падении нагрузки, можно оставить 10 процессов:

Параметр pm.max_children настройте под себя, обычно достаточно 20-30 процессов, но всё зависит от нагрузки и количества оперативной памяти, если памяти мало лучше пожертвовать производительностью и установить меньшее значение:

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Почти готово. Но есть ещё одна проблема. Если дочерние процессы работают слишком долго, в них накапливаются утечки памяти, и рано или поздно на сервере память закончится. Чтобы этого избежать можно настроить автоматическое завершение процесса после выполнения определённого количества запросов, например, 1000:

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

6. Настройка статистики

Для подбора оптимального значения pm.max_children вам может понадобиться посмотреть статистику в реальном времени сколько процессов запущено, сколько из них находится в ожидании, а также какая длина очереди ожидающих выполнения запросов. Для включения вывода статистики просто добавьте такую строчку:

7. Настройка php.ini

php_admin_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.losst.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 32M

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Когда все настройки завершены, не забудьте сохранить изменения и перезапустить php-fpm:

sudo systemctl restart php7.4-fpm

8. Настройка веб-сервера

Для того чтобы всё протестировать придётся настроить ещё и веб-сервер. В конфигурационный файл виртуального хоста Nginx надо добавить такие строки:

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Последняя директива fastcgi_pass указывает как надо передавать данные php-fpm, сюда можно передать путь к файлу сокету, на котором слушает сервис или IP адрес и порт. В данном случае используется ранее настроенный 127.0.0.1:9000. После завершения настройки перезапустите Nginx:

sudo systemctl restart nginx

Теперь вы можете открыть в браузере страницу статистики, как видите всё работает:

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Можно ещё создать файл phpinfo.php с текстом в каталоге веб-сервера и посмотреть настройки php, например, memory_limit, заданный в файле конфигурации пула работает:

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Настройка веб-сервера может очень сильно отличаться в зависимости от ваших требований. Здесь приведен только общий пример, чтобы проверить работоспособность и верность настройки.

Источник

Как перезапустить Nginx

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

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

Как перезапустить Nginx

Первое что желательно сделать если вы меняли настройки Nginx, и что-то делали с конфигурационными файлами, это проверить их на ошибки с помощью команды:

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

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

systemctl restart nginx

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Если нужно только перечитать конфигурационные файлы выполните:

systemctl reload nginx

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

В случае если обычная перезагрузка не помогла, можно попытаться остановить сервис, а затем снова его запустить:

systemctl status nginx

systemctl stop nginx

systemctl start nginx

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Перезапуск Nginx с помощью ISPManager

Панель управления VPS ISPManager довольно популярна среди пользователей и если вы используете ее на своем сервере, то можете перезапустить Nginx с помощью нее. Для этого авторизуйтесь в панели, перейдите на вкладку «Система», «Службы», а затем найдите там пункт «Nginx», выделите его и нажмите кнопку «Перезапуск»:

Как перезагрузить php fpm. Смотреть фото Как перезагрузить php fpm. Смотреть картинку Как перезагрузить php fpm. Картинка про Как перезагрузить php fpm. Фото Как перезагрузить php fpm

Готово, теперь Nginx перезапущен.

Выводы

В этой небольшой статье мы рассмотрели как перезапустить Nginx на вашем сервере. Если у вас остались вопросы, спрашивайте в комментариях!

Конференция HighLoad в которой рассказывается что нового в Nginx:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *