@@ -6,7 +6,12 @@ ENV CONF_PHPFPM=/etc/php/7.1/fpm/php-fpm.conf \
66 CONF_PHPMODS=/etc/php/7.1/mods-available \
77 CONF_FPMPOOL=/etc/php/7.1/fpm/pool.d/www.conf \
88 CONF_FPMOVERRIDES=/etc/php/7.1/fpm/conf.d/overrides.user.ini \
9- APP_ROOT=/app
9+ APP_ROOT=/app \
10+ PHP_FPM_MAX_CHILDREN=4096 \
11+ PHP_FPM_START_SERVERS=20 \
12+ PHP_FPM_MAX_REQUESTS=1024 \
13+ PHP_FPM_MIN_SPARE_SERVERS=5 \
14+ PHP_FPM_MAX_SPARE_SERVERS=128
1015
1116# Ensure the latest base packages are up to date (don't require a parent rebuild)
1217RUN apt-get update -q && \
@@ -85,15 +90,13 @@ RUN apt-get remove --purge -yq \
8590# - Enforce ACL that only 127.0.0.1 may connect
8691# - Allow FPM to pick up extra configuration in fpm/conf.d folder
8792
88- # TODO: allow ENV specification of performance management at runtime (in run.d startup script)
89-
9093RUN sed -i "s/listen = .*/listen = 127.0.0.1:9000/" $CONF_FPMPOOL && \
9194 sed -i "s/;chdir = .*/chdir = \/app/" $CONF_FPMPOOL && \
92- sed -i "s/pm.max_children = .*/pm.max_children = 4096 /" $CONF_FPMPOOL && \
93- sed -i "s/pm.start_servers = .*/pm.start_servers = 20 /" $CONF_FPMPOOL && \
94- sed -i "s/;pm.max_requests = .*/pm.max_requests = 1024 /" $CONF_FPMPOOL && \
95- sed -i "s/pm.min_spare_servers = .*/pm.min_spare_servers = 5 /" $CONF_FPMPOOL && \
96- sed -i "s/pm.max_spare_servers = .*/pm.max_spare_servers = 128 /" $CONF_FPMPOOL && \
95+ sed -i "s/pm.max_children = .*/pm.max_children = \${PHP_FPM_MAX_CHILDREN} /" $CONF_FPMPOOL && \
96+ sed -i "s/pm.start_servers = .*/pm.start_servers = \${PHP_FPM_START_SERVERS} /" $CONF_FPMPOOL && \
97+ sed -i "s/;pm.max_requests = .*/pm.max_requests = \${PHP_FPM_MAX_REQUESTS} /" $CONF_FPMPOOL && \
98+ sed -i "s/pm.min_spare_servers = .*/pm.min_spare_servers = \${PHP_FPM_MIN_SPARE_SERVERS} /" $CONF_FPMPOOL && \
99+ sed -i "s/pm.max_spare_servers = .*/pm.max_spare_servers = \${PHP_FPM_MAX_SPARE_SERVERS} /" $CONF_FPMPOOL && \
97100 sed -i "s/;clear_env/clear_env/" $CONF_FPMPOOL && \
98101 sed -i "s/;catch_workers_output/catch_workers_output/" $CONF_FPMPOOL && \
99102 sed -i "s/error_log = .*/error_log = \/dev\/stdout/" $CONF_PHPFPM && \
0 commit comments