add cgi and proxy nginx timeout parameters

This commit is contained in:
Moctar
2020-07-16 16:09:36 +02:00
parent 2b8581d226
commit 41591356a1
8 changed files with 26 additions and 7 deletions

5
.env
View File

@@ -15,7 +15,8 @@ SERVER_NAME=phraseanet-docker
# --------------- GATEWAY TIMEOUT ----------------------- # --------------- GATEWAY TIMEOUT -----------------------
GATEWAY_SEND_TIMEOUT=120 GATEWAY_SEND_TIMEOUT=120
GATEWAY_PROXY_TIMEOUT=120
GATEWAY_FASTCGI_TIMEOUT=300
# --------------- PHP CONFIGURATION -------------------- # --------------- PHP CONFIGURATION --------------------
# Max upload size # Max upload size
@@ -26,6 +27,8 @@ MAX_INPUT_VARS=12000
MAX_EXECUTION_TIME=120 MAX_EXECUTION_TIME=120
MAX_INPUT_TIME=60 MAX_INPUT_TIME=60
REQUEST_TERMINATE_TIMEOUT=300s
# Enable opcache ? (0/1) # Enable opcache ? (0/1)
OPCACHE_ENABLED=1 OPCACHE_ENABLED=1
# session cache limiter (off/on) # session cache limiter (off/on)

View File

@@ -20,6 +20,8 @@ services:
environment: environment:
- MAX_BODY_SIZE - MAX_BODY_SIZE
- GATEWAY_SEND_TIMEOUT - GATEWAY_SEND_TIMEOUT
- GATEWAY_PROXY_TIMEOUT
- GATEWAY_FASTCGI_TIMEOUT
ports: ports:
- ${PHRASEANET_APP_PORT}:80 - ${PHRASEANET_APP_PORT}:80
@@ -43,6 +45,7 @@ services:
- MAX_INPUT_VARS - MAX_INPUT_VARS
- MAX_EXECUTION_TIME - MAX_EXECUTION_TIME
- MAX_INPUT_TIME - MAX_INPUT_TIME
- REQUEST_TERMINATE_TIMEOUT
- OPCACHE_ENABLED - OPCACHE_ENABLED
- SESSION_CACHE_LIMITER - SESSION_CACHE_LIMITER
- PHP_LOG_LEVEL - PHP_LOG_LEVEL

View File

@@ -2,6 +2,6 @@
set -xe set -xe
cat /nginx.conf.sample | sed "s/\$MAX_BODY_SIZE/$MAX_BODY_SIZE/g" | sed "s/\$GATEWAY_SEND_TIMEOUT/$GATEWAY_SEND_TIMEOUT/g" > /etc/nginx/conf.d/default.conf cat /nginx.conf.sample | sed "s/\$MAX_BODY_SIZE/$MAX_BODY_SIZE/g" | sed "s/\$GATEWAY_SEND_TIMEOUT/$GATEWAY_SEND_TIMEOUT/g" | sed "s/\$GATEWAY_FASTCGI_TIMEOUT/$GATEWAY_FASTCGI_TIMEOUT/g" | sed "s/\$MAX_BODY_SIZE/$MAX_BODY_SIZE/g" | sed "s/\$GATEWAY_PROXY_TIMEOUT/$GATEWAY_PROXY_TIMEOUT/g" > /etc/nginx/conf.d/default.conf
cat /fastcgi_timeout.conf | sed "s/\$GATEWAY_FASTCGI_TIMEOUT/$GATEWAY_FASTCGI_TIMEOUT/g" >> /etc/nginx/fastcgi_params
exec "$@" exec "$@"

View File

@@ -22,8 +22,6 @@ http {
sendfile on; sendfile on;
#tcp_nopush on; #tcp_nopush on;
keepalive_timeout 65;
#gzip on; #gzip on;
include /etc/nginx/conf.d/*.conf; include /etc/nginx/conf.d/*.conf;

View File

@@ -0,0 +1,8 @@
fastcgi_connect_timeout $GATEWAY_FASTCGI_TIMEOUT;
fastcgi_send_timeout $GATEWAY_FASTCGI_TIMEOUT;
fastcgi_read_timeout $GATEWAY_FASTCGI_TIMEOUT;
fastcgi_buffers 4 32k;
fastcgi_busy_buffers_size 32k;
fastcgi_temp_file_write_size 32k;
fastcgi_ignore_client_abort on;
fastcgi_intercept_errors on;

View File

@@ -1,4 +1,11 @@
send_timeout $GATEWAY_SEND_TIMEOUT; send_timeout $GATEWAY_SEND_TIMEOUT;
keepalive_timeout $GATEWAY_SEND_TIMEOUT;
proxy_connect_timeout $GATEWAY_PROXY_TIMEOUT;
proxy_send_timeout $GATEWAY_PROXY_TIMEOUT;
client_header_timeout $GATEWAY_SEND_TIMEOUT;
client_body_timeout $GATEWAY_SEND_TIMEOUT;
fastcgi_read_timeout $GATEWAY_FASTCGI_TIMEOUT;
upstream backend { upstream backend {
server phraseanet:9000; server phraseanet:9000;
} }

View File

@@ -4,7 +4,7 @@ set -e
envsubst < "docker/phraseanet/php.ini.sample" > /usr/local/etc/php/php.ini envsubst < "docker/phraseanet/php.ini.sample" > /usr/local/etc/php/php.ini
envsubst < "docker/phraseanet/php-fpm.conf.sample" > /usr/local/etc/php-fpm.conf envsubst < "docker/phraseanet/php-fpm.conf.sample" > /usr/local/etc/php-fpm.conf
envsubst < "docker/phraseanet/root/usr/local/etc/php-fpm.d/zz-docker.conf" > /usr/local/etc/php-fpm.d/zz-docker.conf cat docker/phraseanet/root/usr/local/etc/php-fpm.d/zz-docker.conf | sed "s/\$REQUEST_TERMINATE_TIMEOUT/$REQUEST_TERMINATE_TIMEOUT/g" > /usr/local/etc/php-fpm.d/zz-docker.conf
chown -R app:app \ chown -R app:app \
cache \ cache \

View File

@@ -15,7 +15,7 @@ pm.min_spare_servers = 2
pm.max_spare_servers = 4 pm.max_spare_servers = 4
pm.max_requests = 1000 pm.max_requests = 1000
request_terminate_timeout=300s request_terminate_timeout=$REQUEST_TERMINATE_TIMEOUT
pm.status_path = /status pm.status_path = /status
ping.path = /ping ping.path = /ping