commit be909b611ab316f1d39148340e5bf1da8db0b8ce Author: Kevin Date: Tue Jun 9 20:18:31 2020 +0200 first commit diff --git a/.env b/.env new file mode 100644 index 0000000..132b3f2 --- /dev/null +++ b/.env @@ -0,0 +1,10 @@ +TZ=Europe/Paris + +PHP_VERSION=php:7.4.6-fpm + +MYSQL_VERSION=mariadb +MYSQL_ROOT_PASSWORD=root + +PMA_VERSION=phpmyadmin/phpmyadmin + +NGINX_VERSION=nginx diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d09a832 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +log/nginx/* +wwwroot/html/* +wwwroot/html/.* diff --git a/Docker/php-fpm/Dockerfile b/Docker/php-fpm/Dockerfile new file mode 100644 index 0000000..39b38b8 --- /dev/null +++ b/Docker/php-fpm/Dockerfile @@ -0,0 +1,44 @@ +FROM php:7.4.6 + +RUN touch /usr/local/etc/php/conf.d/php.ini \ + && echo "upload_max_filesize = 10M;" >> /usr/local/etc/php/conf.d/php.ini \ + && echo "memory_limit = 2G;" >> /usr/local/etc/php/conf.d/php.ini + + +RUN apt-get update && apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libmcrypt-dev \ + libpng-dev \ + mariadb-client \ + zip \ + libzip-dev && \ + docker-php-ext-install -j$(nproc) iconv && \ + docker-php-ext-configure gd --with-freetype --with-jpeg && \ + apt-get install -y imagemagick libmagickwand-dev && \ + #pecl install imagick && docker-php-ext-enable imagick && \ + docker-php-ext-install -j$(nproc) gd && \ + docker-php-ext-install pdo_mysql mysqli zip && \ + docker-php-ext-install opcache && \ + docker-php-ext-install bcmath && \ + apt-get install -y git vim && \ + pecl install redis-4.3.0 && \ + pecl install xdebug && \ + docker-php-ext-enable xdebug redis mysqli + +RUN export COMPOSER_HOME=/usr/local/composer && \ + curl -sS https://getcomposer.org/installer \ + | php -- --install-dir=/usr/local/bin --filename=composer && \ + curl https://drupalconsole.com/installer \ + -L -o /usr/local/bin/drupal && \ + chmod +x /usr/local/bin/drupal && \ + curl https://github.com/drush-ops/drush-launcher/releases/download/0.6.0/drush.phar \ + -L -o /usr/local/bin/drush && \ + chmod +x /usr/local/bin/drush + +RUN apt-get install -y curl && \ + curl -sL https://deb.nodesource.com/setup_11.x | bash - && \ + curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ + echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ + apt-get update && \ + apt-get install -y nodejs yarn diff --git a/Docker/php-fpm/php-fpm.ini b/Docker/php-fpm/php-fpm.ini new file mode 100644 index 0000000..93b03c6 --- /dev/null +++ b/Docker/php-fpm/php-fpm.ini @@ -0,0 +1,150 @@ +;;;;;;;;;;;;;;;;;;;;; +; FPM Configuration ; +;;;;;;;;;;;;;;;;;;;;; + +; All relative paths in this configuration file are relative to PHP's install +; prefix (/usr/local). This prefix can be dynamically changed by using the +; '-p' argument from the command line. + +;;;;;;;;;;;;;;;;;; +; Global Options ; +;;;;;;;;;;;;;;;;;; + +[global] +; Pid file +; Note: the default prefix is /usr/local/var +; Default Value: none +;pid = run/php-fpm.pid + +; Error log file +; If it's set to "syslog", log is sent to syslogd instead of being written +; into a local file. +; Note: the default prefix is /usr/local/var +; Default Value: log/php-fpm.log +;error_log = log/php-fpm.log + +; syslog_facility is used to specify what type of program is logging the +; message. This lets syslogd specify that messages from different facilities +; will be handled differently. +; See syslog(3) for possible values (ex daemon equiv LOG_DAEMON) +; Default Value: daemon +;syslog.facility = daemon + +; syslog_ident is prepended to every message. If you have multiple FPM +; instances running on the same server, you can change the default value +; which must suit common needs. +; Default Value: php-fpm +;syslog.ident = php-fpm + +; Log level +; Possible Values: alert, error, warning, notice, debug +; Default Value: notice +;log_level = notice + +; Log limit on number of characters in the single line (log entry). If the +; line is over the limit, it is wrapped on multiple lines. The limit is for +; all logged characters including message prefix and suffix if present. However +; the new line character does not count into it as it is present only when +; logging to a file descriptor. It means the new line character is not present +; when logging to syslog. +; Default Value: 1024 +;log_limit = 4096 + +; Log buffering specifies if the log line is buffered which means that the +; line is written in a single write operation. If the value is false, then the +; data is written directly into the file descriptor. It is an experimental +; option that can potentionaly improve logging performance and memory usage +; for some heavy logging scenarios. This option is ignored if logging to syslog +; as it has to be always buffered. +; Default value: yes +;log_buffering = no + +; If this number of child processes exit with SIGSEGV or SIGBUS within the time +; interval set by emergency_restart_interval then FPM will restart. A value +; of '0' means 'Off'. +; Default Value: 0 +;emergency_restart_threshold = 0 + +; Interval of time used by emergency_restart_interval to determine when +; a graceful restart will be initiated. This can be useful to work around +; accidental corruptions in an accelerator's shared memory. +; Available Units: s(econds), m(inutes), h(ours), or d(ays) +; Default Unit: seconds +; Default Value: 0 +;emergency_restart_interval = 0 + +; Time limit for child processes to wait for a reaction on signals from master. +; Available units: s(econds), m(inutes), h(ours), or d(ays) +; Default Unit: seconds +; Default Value: 0 +;process_control_timeout = 0 + +; The maximum number of processes FPM will fork. This has been designed to control +; the global number of processes when using dynamic PM within a lot of pools. +; Use it with caution. +; Note: A value of 0 indicates no limit +; Default Value: 0 +; process.max = 128 + +; Specify the nice(2) priority to apply to the master process (only if set) +; The value can vary from -19 (highest priority) to 20 (lowest priority) +; Note: - It will only work if the FPM master process is launched as root +; - The pool process will inherit the master process priority +; unless specified otherwise +; Default Value: no set +; process.priority = -19 + +; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging. +; Default Value: yes +;daemonize = yes + +; Set open file descriptor rlimit for the master process. +; Default Value: system defined value +;rlimit_files = 1024 + +; Set max core size rlimit for the master process. +; Possible Values: 'unlimited' or an integer greater or equal to 0 +; Default Value: system defined value +;rlimit_core = 0 + +; Specify the event mechanism FPM will use. The following is available: +; - select (any POSIX os) +; - poll (any POSIX os) +; - epoll (linux >= 2.5.44) +; - kqueue (FreeBSD >= 4.1, OpenBSD >= 2.9, NetBSD >= 2.0) +; - /dev/poll (Solaris >= 7) +; - port (Solaris >= 10) +; Default Value: not set (auto detection) +;events.mechanism = epoll + +; When FPM is built with systemd integration, specify the interval, +; in seconds, between health report notification to systemd. +; Set to 0 to disable. +; Available Units: s(econds), m(inutes), h(ours) +; Default Unit: seconds +; Default value: 10 +;systemd_interval = 10 + +;;;;;;;;;;;;;;;;;;;; +; Pool Definitions ; +;;;;;;;;;;;;;;;;;;;; + +; Multiple pools of child processes may be started with different listening +; ports and different management options. The name of the pool will be +; used in logs and stats. There is no limitation on the number of pools which +; FPM can handle. Your system will tell you anyway :) + +; Include one or more files. If glob(3) exists, it is used to include a bunch of +; files from a glob(3) pattern. This directive can be used everywhere in the +; file. +; Relative path can also be used. They will be prefixed by: +; - the global prefix if it's been set (-p argument) +; - /usr/local otherwise +include=etc/php-fpm.d/*.conf + + +max_execution_time = 600 +max_input_time = 600 +memory_limit = 2500M +post_max_size = 0 +upload_max_filesize = 256M diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/composer.json @@ -0,0 +1,2 @@ +{ +} diff --git a/data/mysql/.gitignore b/data/mysql/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/data/mysql/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b422f96 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,67 @@ +version: '3.2' + +services: + + nginx: + container_name: nginx_rplf + image: "${NGINX_VERSION}" + ports: + - 80:80 + - 443:443 + volumes: + - ./log/nginx:/var/log/nginx + - ./etc/nginx/nginx.conf:/etc/nginx/nginx.conf + - ./etc/nginx/conf.d:/etc/nginx/conf.d + - ./etc/nginx/ssl:/etc/nginx/ssl + - ./wwwroot:/var/www + environment: + ENABLE_CRONTAB: "true" + TZ: ${TZ} + restart: on-failure + + php-fpm: + container_name: php_rplf + # image: "${PHP_VERSION}" + build: ./Docker/php-fpm/ + volumes: + - ./etc/php-fpm/php-fpm.ini:/usr/local/etc/php-fpm.ini + # - ./etc/php-fpm/crontabs:/etc/crontabs + - ./wwwroot:/var/www + environment: + ENABLE_CRONTAB: "true" + TZ: ${TZ} + restart: on-failure + + mysql: + container_name: mysql_rplf + image: "${MYSQL_VERSION}" + # command: --default-authentication-plugin=mysql_native_password + volumes: + # - ./etc/mysql/my.cnf:/etc/my.cnf + # - ./etc/mysql/my.cnf.d:/etc/my.cnf.d + - ./data/mysql/databases:/var/lib/mysql + environment: + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} + MYSQL_ROOT_HOST: "%" + TZ: ${TZ} + restart: on-failure + + phpmyadmin: + container_name: phpmyadmin_rplf + image: "${PMA_VERSION}" + ports: + - 8081:80 + depends_on: + - mysql + environment: + PMA_HOST: mysql + TZ: ${TZ} + restart: on-failure + + # redis: + # image: "${REDIS_VERSION}" + # volumes: + # - ./data/redis/data:/data:rw + # environment: + # TZ: ${TZ} + # restart: on-failure diff --git a/etc/mysql/my.cnf b/etc/mysql/my.cnf new file mode 100644 index 0000000..5923ec6 --- /dev/null +++ b/etc/mysql/my.cnf @@ -0,0 +1,34 @@ +# from docker mysql/mysql-server:8.0.18 +# +# For advice on how to change settings please see +# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html + +[mysqld] +# +# Remove leading # and set to the amount of RAM for the most important data +# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. +# innodb_buffer_pool_size = 128M +# +# Remove leading # to turn on a very important data integrity option: logging +# changes to the binary log between backups. +# log_bin +# +# Remove leading # to set options mainly useful for reporting servers. +# The server defaults are faster for transactions and fast SELECTs. +# Adjust sizes as needed, experiment to find the optimal values. +# join_buffer_size = 128M +# sort_buffer_size = 2M +# read_rnd_buffer_size = 2M + +# Remove leading # to revert to previous value for default_authentication_plugin, +# this will increase compatibility with older clients. For background, see: +# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin +# default-authentication-plugin=mysql_native_password +skip-host-cache +skip-name-resolve +datadir=/var/lib/mysql +socket=/var/lib/mysql/mysql.sock +secure-file-priv=/var/lib/mysql-files +user=mysql + +pid-file=/var/run/mysqld/mysqld.pid diff --git a/etc/mysql/my.cnf.d/.gitkeep b/etc/mysql/my.cnf.d/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/etc/nginx/_ssl/localhost.crt b/etc/nginx/_ssl/localhost.crt new file mode 100644 index 0000000..f4e66d4 --- /dev/null +++ b/etc/nginx/_ssl/localhost.crt @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDpDCCAowCCQCUijlqpakSMjANBgkqhkiG9w0BAQsFADCBkjELMAkGA1UEBhMC +Q04xEjAQBgNVBAgMCUd1YW5nZG9uZzERMA8GA1UEBwwIU2hlbnpoZW4xOjA4BgNV +BAoMMVNoZW56aGVuIFRlbmNlbnQgQ29tcHV0ZXIgU3lzdGVtcyBDb21wYW55IExp +bWl0ZWQxDDAKBgNVBAsMA1ImRDESMBAGA1UEAwwJMTI3LjAuMC4xMCAXDTE5MTEw +NDEwMTIyNVoYDzIxMTkxMDExMTAxMjI1WjCBkjELMAkGA1UEBhMCQ04xEjAQBgNV +BAgMCUd1YW5nZG9uZzERMA8GA1UEBwwIU2hlbnpoZW4xOjA4BgNVBAoMMVNoZW56 +aGVuIFRlbmNlbnQgQ29tcHV0ZXIgU3lzdGVtcyBDb21wYW55IExpbWl0ZWQxDDAK +BgNVBAsMA1ImRDESMBAGA1UEAwwJMTI3LjAuMC4xMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA2wvw5N5oRgCEWAGpsiKea10weoa9Gzu4XqpHTDygW0uZ +sq1L0WKtWRfKys91hVJ3YYUfUCvhp57xJdrorEGzE9T1gSdmcOP4Hg9GswGYGerH +ODIcZSJZCZGGX2OqjcveGLLTGVUbS30i5U79DUo9i6pn1aX8uTbGe4CNmaeWAFNq +Ay+jzinYDHbMN1/A/CTbUUfs48D2d/oRcmnNI3wvQSU/5hCTK/U833adKmwIm4nh +OSEKkodaQSWR3+PRpQzmmhHJVpuroKjXRTHM3uc2nBhzDdIMk46hjv7v6DWuTR/D +/I3nT4KCGjHxG2d6WAo1NFNKlDz65qBfoGhEmf7bWQIDAQABMA0GCSqGSIb3DQEB +CwUAA4IBAQBl2/jjbnQtUEdN8MfE6fqGCzVvWdMfHk/4oA+bKQfk4Vh/J2iMtXeV +HlPvJiF7qZI9eipW5pyBTQpp1DuPXhIi9tGhoq30CnEZquX4/0mlQs1j2dU4lscD +MzozE2g+qS0kR4CVLYazJl9zOO25KZFIG32ly36YI9sz4VebMBTkQoEUkl8WWTdX +0onwzo6SYaQtcqkj2trp9ywqWRFZbiHjRvm4KjU5stOJT5ZU4PzbdQQQpnv8PjXx +MpOX/+H/JY3PCw0sBEf/wuoLhg2gmAS70Km3ySW5oMhkoVL4bo/AipipJR7XitvS +kfCsLaHXmQ+yHwCf83uoZiZLeAGNkx5x +-----END CERTIFICATE----- diff --git a/etc/nginx/_ssl/localhost.key b/etc/nginx/_ssl/localhost.key new file mode 100644 index 0000000..64ebfbc --- /dev/null +++ b/etc/nginx/_ssl/localhost.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDbC/Dk3mhGAIRY +AamyIp5rXTB6hr0bO7heqkdMPKBbS5myrUvRYq1ZF8rKz3WFUndhhR9QK+GnnvEl +2uisQbMT1PWBJ2Zw4/geD0azAZgZ6sc4MhxlIlkJkYZfY6qNy94YstMZVRtLfSLl +Tv0NSj2LqmfVpfy5NsZ7gI2Zp5YAU2oDL6POKdgMdsw3X8D8JNtRR+zjwPZ3+hFy +ac0jfC9BJT/mEJMr9Tzfdp0qbAibieE5IQqSh1pBJZHf49GlDOaaEclWm6ugqNdF +Mcze5zacGHMN0gyTjqGO/u/oNa5NH8P8jedPgoIaMfEbZ3pYCjU0U0qUPPrmoF+g +aESZ/ttZAgMBAAECggEBAKnDj2dRl67pJ6itYT9V5UGAb9oGIvnARxvXDHrhYcZf +yTbZaDFXMNIjxl94ebRiPXOvIJ2Z5MFsRaj5B+q44Hk2Sy9VwecsR1fErx581c0A +UHYVIDyhajAoQOQc8koC/pZVwZWYiBbxXOIrXaO3LgvYfbDve/ZvpVSCRTwYzgBh +Nj/nDPQKgWbwLcI0zXSzQk/lLTTsAoUpu51gdPCoowCYRnBHIi12zKICuVDXvxsN +QCjyOuym6sC9NOa2MyDxVvAxgyf9W4nWAETtmV/4d3+G6BS1ahRqMXbc7Yri+3BC +NjusaVqIBFznEY8Zfvb3njjNoWDd+B9XMxxEjO95iAECgYEA9KOaT8uqnOn8TXAd +/x7wIgjRinEA69Sl8Yvy8enR10j7+Ff59d5RuqEgl9SKgocZFKCng4mwgcc4QTV9 +Wuxu0EnxomC9vWCPduN9gbGypBrdwZum1rD6a7l4N6pJYm7PokQN/1WnhXv/CcJF +pVx55luEhAuan/bpE5QjKWzU6WECgYEA5TgVAFPT6yuVSQSc7OtvjrppvP/UCzJT +rVoV1OOhxu1rVKgbmhg/lP0jw4NbqEIaSzau+VngNAHkA0Tvqvtd+hSRmXciazXP +Nwmc6nVAEQh5mKujqAaGJhp72d7sYqyHLYumJU9euNp2P3/yOOWD3OWR9cHvHzvt +PBAuzWqpXPkCgYAe2C3Rl8U4KYxFGzi8/OKb9+6rfNn34gTWMqX7+FYbxbj3M+hx +Jom5dS1N119rW6s+3Y6hWA/oHP0rw5m9iAfkvR35MidaJD2SaNZfLs9uP3DsQzrC +4OeCA41zv0WnYn9NXzVAl0Ua4GpkiZkMY19/OtS3bVsehhwW+tuAEpe5oQKBgQCC +f0Y9lHv+1CY+lti8bWFqsahHSKKw6SsIc1QgiqPsu/gyDy7/sLRqHyAATEWfalrL +3UsKfOeO1FC6p8GG52reWF14MIIw5Uaef+OM+8nIqLmJeJZIr8Yp5UQDis2rc6vV ++z5Q2XoE5aMSjcYaLFjBJxXNA2cesiBi5JewrPvVCQKBgQCoGZEMwFkhvaLAJzMV +RhdzwZaC7X1TlG1WY0UcC1W16GLQgBfOmGpa7PvIX7DsztEWtBrxZ1j4evBrd+Fw +f2zEPDEkTLos3gUUizMnzfY2og2pxTmVbvy1RLP9aqRyaNaCz7omKTCwrLL1LpuP +vXL7jCwgfO65nucYH3wNBw7e/w== +-----END PRIVATE KEY----- diff --git a/etc/nginx/conf.d/default.conf b/etc/nginx/conf.d/default.conf new file mode 100644 index 0000000..ae0a005 --- /dev/null +++ b/etc/nginx/conf.d/default.conf @@ -0,0 +1,22 @@ +server { + listen 80; + listen 443 http2; + + server_name localhost; + + root /var/www/html/web; + index index.php; + + location / { + try_files $uri $uri/ /index.php?$query_string; + } + + location ~ \.php$ { + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_pass php-fpm:9000; + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_path_info; + } +} diff --git a/etc/nginx/nginx.conf b/etc/nginx/nginx.conf new file mode 100644 index 0000000..41d94b4 --- /dev/null +++ b/etc/nginx/nginx.conf @@ -0,0 +1,31 @@ +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log warn; +pid /var/run/nginx.pid; + + +events { + worker_connections 1024; +} + + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + + keepalive_timeout 65; + + #gzip on; + + include /etc/nginx/conf.d/*.conf; +} diff --git a/etc/php-fpm/php-fpm.ini b/etc/php-fpm/php-fpm.ini new file mode 100644 index 0000000..93b03c6 --- /dev/null +++ b/etc/php-fpm/php-fpm.ini @@ -0,0 +1,150 @@ +;;;;;;;;;;;;;;;;;;;;; +; FPM Configuration ; +;;;;;;;;;;;;;;;;;;;;; + +; All relative paths in this configuration file are relative to PHP's install +; prefix (/usr/local). This prefix can be dynamically changed by using the +; '-p' argument from the command line. + +;;;;;;;;;;;;;;;;;; +; Global Options ; +;;;;;;;;;;;;;;;;;; + +[global] +; Pid file +; Note: the default prefix is /usr/local/var +; Default Value: none +;pid = run/php-fpm.pid + +; Error log file +; If it's set to "syslog", log is sent to syslogd instead of being written +; into a local file. +; Note: the default prefix is /usr/local/var +; Default Value: log/php-fpm.log +;error_log = log/php-fpm.log + +; syslog_facility is used to specify what type of program is logging the +; message. This lets syslogd specify that messages from different facilities +; will be handled differently. +; See syslog(3) for possible values (ex daemon equiv LOG_DAEMON) +; Default Value: daemon +;syslog.facility = daemon + +; syslog_ident is prepended to every message. If you have multiple FPM +; instances running on the same server, you can change the default value +; which must suit common needs. +; Default Value: php-fpm +;syslog.ident = php-fpm + +; Log level +; Possible Values: alert, error, warning, notice, debug +; Default Value: notice +;log_level = notice + +; Log limit on number of characters in the single line (log entry). If the +; line is over the limit, it is wrapped on multiple lines. The limit is for +; all logged characters including message prefix and suffix if present. However +; the new line character does not count into it as it is present only when +; logging to a file descriptor. It means the new line character is not present +; when logging to syslog. +; Default Value: 1024 +;log_limit = 4096 + +; Log buffering specifies if the log line is buffered which means that the +; line is written in a single write operation. If the value is false, then the +; data is written directly into the file descriptor. It is an experimental +; option that can potentionaly improve logging performance and memory usage +; for some heavy logging scenarios. This option is ignored if logging to syslog +; as it has to be always buffered. +; Default value: yes +;log_buffering = no + +; If this number of child processes exit with SIGSEGV or SIGBUS within the time +; interval set by emergency_restart_interval then FPM will restart. A value +; of '0' means 'Off'. +; Default Value: 0 +;emergency_restart_threshold = 0 + +; Interval of time used by emergency_restart_interval to determine when +; a graceful restart will be initiated. This can be useful to work around +; accidental corruptions in an accelerator's shared memory. +; Available Units: s(econds), m(inutes), h(ours), or d(ays) +; Default Unit: seconds +; Default Value: 0 +;emergency_restart_interval = 0 + +; Time limit for child processes to wait for a reaction on signals from master. +; Available units: s(econds), m(inutes), h(ours), or d(ays) +; Default Unit: seconds +; Default Value: 0 +;process_control_timeout = 0 + +; The maximum number of processes FPM will fork. This has been designed to control +; the global number of processes when using dynamic PM within a lot of pools. +; Use it with caution. +; Note: A value of 0 indicates no limit +; Default Value: 0 +; process.max = 128 + +; Specify the nice(2) priority to apply to the master process (only if set) +; The value can vary from -19 (highest priority) to 20 (lowest priority) +; Note: - It will only work if the FPM master process is launched as root +; - The pool process will inherit the master process priority +; unless specified otherwise +; Default Value: no set +; process.priority = -19 + +; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging. +; Default Value: yes +;daemonize = yes + +; Set open file descriptor rlimit for the master process. +; Default Value: system defined value +;rlimit_files = 1024 + +; Set max core size rlimit for the master process. +; Possible Values: 'unlimited' or an integer greater or equal to 0 +; Default Value: system defined value +;rlimit_core = 0 + +; Specify the event mechanism FPM will use. The following is available: +; - select (any POSIX os) +; - poll (any POSIX os) +; - epoll (linux >= 2.5.44) +; - kqueue (FreeBSD >= 4.1, OpenBSD >= 2.9, NetBSD >= 2.0) +; - /dev/poll (Solaris >= 7) +; - port (Solaris >= 10) +; Default Value: not set (auto detection) +;events.mechanism = epoll + +; When FPM is built with systemd integration, specify the interval, +; in seconds, between health report notification to systemd. +; Set to 0 to disable. +; Available Units: s(econds), m(inutes), h(ours) +; Default Unit: seconds +; Default value: 10 +;systemd_interval = 10 + +;;;;;;;;;;;;;;;;;;;; +; Pool Definitions ; +;;;;;;;;;;;;;;;;;;;; + +; Multiple pools of child processes may be started with different listening +; ports and different management options. The name of the pool will be +; used in logs and stats. There is no limitation on the number of pools which +; FPM can handle. Your system will tell you anyway :) + +; Include one or more files. If glob(3) exists, it is used to include a bunch of +; files from a glob(3) pattern. This directive can be used everywhere in the +; file. +; Relative path can also be used. They will be prefixed by: +; - the global prefix if it's been set (-p argument) +; - /usr/local otherwise +include=etc/php-fpm.d/*.conf + + +max_execution_time = 600 +max_input_time = 600 +memory_limit = 2500M +post_max_size = 0 +upload_max_filesize = 256M