add ability to set php-workers/servers/children

This commit is contained in:
Roman Hoellen 2018-06-07 11:46:47 +02:00
parent 1a6bfd4039
commit 75b811dac0
9 changed files with 40 additions and 8 deletions

View File

@ -6,7 +6,11 @@ ARG GPG_matthieu="814E 346F A01A 20DB B04B 6807 B5DB D592 5590 A237"
ENV UID=991 GID=991 \
UPLOAD_MAX_SIZE=10M \
MEMORY_LIMIT=256M \
OPCACHE_MEM_SIZE=128M
OPCACHE_MEM_SIZE=128M \
PHP_MAX_CHILDREN=15 \
PHP_START_SERVERS=2 \
PHP_MIN_SPARE_SERVERS=1 \
PHP_MAX_SPARE_SERVERS=6
RUN BUILD_DEPS=" \
git \

View File

@ -1,7 +1,11 @@
#!/bin/sh
sed -i -e "s/<UPLOAD_MAX_SIZE>/$UPLOAD_MAX_SIZE/g" /nginx/conf/nginx.conf /php/etc/php-fpm.conf \
-e "s/<MEMORY_LIMIT>/$MEMORY_LIMIT/g" /php/etc/php-fpm.conf \
-e "s/<OPCACHE_MEM_SIZE>/$OPCACHE_MEM_SIZE/g" /php/conf.d/opcache.ini
-e "s/<OPCACHE_MEM_SIZE>/$OPCACHE_MEM_SIZE/g" /php/conf.d/opcache.ini \
-e "s/<PHP_MAX_CHILDREN>/$PHP_MAX_CHILDREN/g" /php/etc/php-fpm.conf \
-e "s/<PHP_START_SERVERS>/$PHP_START_SERVERS/g" /php/etc/php-fpm.conf \
-e "s/<PHP_MIN_SPARE_SERVERS>/$PHP_MIN_SPARE_SERVERS/g" /php/etc/php-fpm.conf \
-e "s/<PHP_MAX_SPARE_SERVERS>/$PHP_MAX_SPARE_SERVERS/g" /php/etc/php-fpm.conf
if [ ! -f /config/config.ini.php ]; then
cp /matomo/config/config.ini.php /config/config.ini.php

View File

@ -8,6 +8,10 @@ ENV UID=991 GID=991 \
APC_SHM_SIZE=128M \
OPCACHE_MEM_SIZE=128 \
MEMORY_LIMIT=512M \
PHP_MAX_CHILDREN=15 \
PHP_START_SERVERS=2 \
PHP_MIN_SPARE_SERVERS=1 \
PHP_MAX_SPARE_SERVERS=6 \
CRON_PERIOD=15m \
CRON_MEMORY_LIMIT=1g \
TZ=Etc/UTC \

View File

@ -8,6 +8,10 @@ ENV UID=991 GID=991 \
APC_SHM_SIZE=128M \
OPCACHE_MEM_SIZE=128 \
MEMORY_LIMIT=512M \
PHP_MAX_CHILDREN=15 \
PHP_START_SERVERS=2 \
PHP_MIN_SPARE_SERVERS=1 \
PHP_MAX_SPARE_SERVERS=6 \
CRON_PERIOD=15m \
CRON_MEMORY_LIMIT=1g \
TZ=Etc/UTC \

View File

@ -5,6 +5,10 @@ ENV UID=991 GID=991 \
APC_SHM_SIZE=128M \
OPCACHE_MEM_SIZE=128 \
MEMORY_LIMIT=512M \
PHP_MAX_CHILDREN=15 \
PHP_START_SERVERS=2 \
PHP_MIN_SPARE_SERVERS=1 \
PHP_MAX_SPARE_SERVERS=6 \
CRON_PERIOD=15m \
CRON_MEMORY_LIMIT=1g \
TZ=Etc/UTC \

View File

@ -43,6 +43,10 @@ Other tags than `daily` are built weekly. For security reasons, you should occas
- **APC_SHM_SIZE** : apc memory size *(default : 128M)*
- **OPCACHE_MEM_SIZE** : opcache memory size in megabytes *(default : 128)*
- **MEMORY_LIMIT** : php memory limit *(default : 512M)*
- **PHP_MAX_CHILDREN** : php max child processes *(default : 15)*
- **PHP_START_SERVERS** : php number of processes on startup *(default : 2)*
- **PHP_MIN_SPARE_SERVERS** : php min of idle processes *(default : 1)*
- **PHP_MAX_SPARE_SERVERS** : php max of idle processes *(default : 6)*
- **CRON_PERIOD** : time interval between two cron tasks *(default : 15m)*
- **CRON_MEMORY_LIMIT** : memory limit for PHP when executing cronjobs *(default : 1024m)*
- **TZ** : the system/log timezone *(default : Etc/UTC)*

View File

@ -6,7 +6,11 @@ sed -i -e "s/<APC_SHM_SIZE>/$APC_SHM_SIZE/g" /php/conf.d/apcu.ini \
-e "s/<CRON_PERIOD>/$CRON_PERIOD/g" /etc/s6.d/cron/run \
-e "s/<MEMORY_LIMIT>/$MEMORY_LIMIT/g" /usr/local/bin/occ \
-e "s/<UPLOAD_MAX_SIZE>/$UPLOAD_MAX_SIZE/g" /nginx/conf/nginx.conf /php/etc/php-fpm.conf \
-e "s/<MEMORY_LIMIT>/$MEMORY_LIMIT/g" /php/etc/php-fpm.conf
-e "s/<MEMORY_LIMIT>/$MEMORY_LIMIT/g" /php/etc/php-fpm.conf \
-e "s/<PHP_MAX_CHILDREN>/$PHP_MAX_CHILDREN/g" /php/etc/php-fpm.conf \
-e "s/<PHP_START_SERVERS>/$PHP_START_SERVERS/g" /php/etc/php-fpm.conf \
-e "s/<PHP_MIN_SPARE_SERVERS>/$PHP_MIN_SPARE_SERVERS/g" /php/etc/php-fpm.conf \
-e "s/<PHP_MAX_SPARE_SERVERS>/$PHP_MAX_SPARE_SERVERS/g" /php/etc/php-fpm.conf
# Put the configuration and apps into volumes
ln -sf /config/config.php /nextcloud/config/config.php &>/dev/null

View File

@ -5,10 +5,10 @@ error_log = /php/logs/error.log
[www]
listen = /php/run/php-fpm.sock
pm = dynamic
pm.max_children = 15
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 6
pm.max_children = <PHP_MAX_CHILDREN>
pm.start_servers = <PHP_START_SERVERS>
pm.min_spare_servers = <PHP_MIN_SPARE_SERVERS>
pm.max_spare_servers = <PHP_MAX_SPARE_SERVERS>
chdir = /
request_terminate_timeout = 0
env[PATH] = /usr/local/bin:/usr/bin:/bin

View File

@ -4,7 +4,11 @@ ARG PRIVATEBIN_VER=1.1.1
ENV GID=991 UID=991 \
UPLOAD_MAX_SIZE=10M \
MEMORY_LIMIT=128M
MEMORY_LIMIT=128M \
PHP_MAX_CHILDREN=15 \
PHP_START_SERVERS=2 \
PHP_MIN_SPARE_SERVERS=1 \
PHP_MAX_SPARE_SERVERS=6
RUN BUILD_DEPS="tar libressl ca-certificates" \
&& apk -U upgrade && apk add $BUILD_DEPS \