как перезапустить php7-fpm с супервизором?

У меня есть собственный образ докера для apache и php7-fpm, но всякий раз, когда я вношу изменения в файл php ini и использую supervisord для перезапуска php7-fpm после этих изменений во время создания образа перед запуском контейнера из изображения я заметил, что мне не удалось перезапустить php7-fpm. Таким образом, изменения, которые я вношу в файл php ini, никогда не отражаются

Но когда я вхожу в работающий контейнер и пытаюсь перезапустить php7-fpm, я вижу эти изменения

Вот что имеет конфигурация моего супервизора

[supervisord]
nodaemon=true

[program:php-fpm7.0]
command = /usr/sbin/php-fpm7.0 -c /etc/php/7.0/fpm/php-fpm.conf
autorestart=true

[program:apache2]
command=/bin/bash -c "source /etc/apache2/envvars && exec /usr/sbin/apache2 -DFOREGROUND"
autorestart=true

Здесь это мое начало. sh скрипт

#!/bin/bash
set -e
echo "ServerName localhost" >> /etc/apache2/apache2.conf
#echo "export HOSTNAME=$(hostname)" >> /etc/apache2/envvars
sed -i -e "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g" /etc/php/7.0/fpm/php.ini
sed -i -e "s/;short_open_tag = Off/short_open_tag = On/g" /etc/php/7.0/fpm/php.ini
sed -i -e "s/;display_errors = Off/display_errors = On/g" /etc/php/7.0/fpm/php.ini
sed -ri 's/^upload_max_filesize\s*=\s*.+/upload_max_filesize = 450M/g' /etc/php/7.0/fpm/php.ini
sed -ri 's/^max_input_time\s*=\s*.+/max_input_time = 300/g' /etc/php/7.0/fpm/php.ini
sed -ri 's/^memory_limit\s*=\s*.+/memory_limit = 640M/g' /etc/php/7.0/fpm/php.ini
sed -ri 's/^post_max_size\s*=\s*.+/post_max_size = 450M/g' /etc/php/7.0/fpm/php.ini
sed -ri 's/^max_execution_time\s*=\s*.+/max_execution_time = 300/g' /etc/php/7.0/fpm/php.ini
sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php/7.0/fpm/php-fpm.conf
sed -i -e "s/;catch_workers_output\s*=\s*yes/catch_workers_output = yes/g" /etc/php/7.0/fpm/pool.d/www.conf
sed -i -e "s/pm.max_children = 5/pm.max_children = 9/g" /etc/php/7.0/fpm/pool.d/www.conf
sed -i -e "s/pm.start_servers = 2/pm.start_servers = 3/g" /etc/php/7.0/fpm/pool.d/www.conf
sed -i -e "s/pm.min_spare_servers = 1/pm.min_spare_servers = 2/g" /etc/php/7.0/fpm/pool.d/www.conf
sed -i -e "s/pm.max_spare_servers = 3/pm.max_spare_servers = 4/g" /etc/php/7.0/fpm/pool.d/www.conf
sed -i -e "s/pm.max_requests = 500/pm.max_requests = 200/g" /etc/php/7.0/fpm/pool.d/www.conf
sed -i -e "s/;clear_env = no/clear_env = no/g" /etc/php/7.0/fpm/pool.d/www.conf

Пожалуйста, помогите с тем, как перезапустить php7-fpm, когда в файл php ini внесены изменения с помощью скрипта start.sh при создании образа докера

PS

Вам может быть интересно, зачем мне перезапускать php7-fpm, если его нужно только запустить, ну, нет способа заставить php7-fpm работать с докером, за исключением того, что я сначала запускаю его в своем файле докера, как показано ниже. Всякий раз, когда я удаляю эту строку из своего файла докеров, она не работает. Если у кого-то в докере есть настройка apache 2.4 и php7-fpm, которая работает без этого, ПОЖАЛУЙСТА, пришлите мне ссылку на их изображение!

RUN service php7.0-fpm start

Спасибо

0
задан 13 March 2017 в 03:36
1 ответ

только что добавили эту строку в скрипт start.sh script

service php7.0-fpm restart

и так же все проблемы были решены!

Не думал, что это так же просто, как добавить команду bash в скрипт start.sh

.
0
ответ дан 5 December 2019 в 08:29

Теги

Похожие вопросы