rfc:fpm:ini_syntax
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:fpm:ini_syntax [2010/03/30 17:15] – fat | rfc:fpm:ini_syntax [2017/09/22 13:28] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Request for Comments: FPM INI Syntax ====== | ====== Request for Comments: FPM INI Syntax ====== | ||
- | * Version: 1.0 | + | * Version: 1.2 |
- | * Date: 2010-03-30 | + | * Date: 2010-04-21 |
* Author: Jérôme Loyet < | * Author: Jérôme Loyet < | ||
- | * Status: | + | * Status: |
* First Published at: http:// | * First Published at: http:// | ||
This RFC discusses the FPM configuration file syntax and it's replacement from XML to INI. | This RFC discusses the FPM configuration file syntax and it's replacement from XML to INI. | ||
+ | |||
+ | **WE ARE NOT TALKING HERE ABOUT CHANGING SOMETHING INTO main/* or Zend/*. | ||
+ | This dicussion is about sapi/fpm ONLY** | ||
===== Introduction ===== | ===== Introduction ===== | ||
Line 24: | Line 27: | ||
* specific simple directives (user=, group=, status=, ...) | * specific simple directives (user=, group=, status=, ...) | ||
* specific array directives (environment[PATH]=, | * specific array directives (environment[PATH]=, | ||
- | * A reference system. A worker can be set as a reference and it'll never be instantiated. Classic workers can use it to define default values. For exemple, timeout directives are set once in a reference worker and normal workers will use this worker as a reference. | ||
===== Implementation ===== | ===== Implementation ===== | ||
Line 35: | Line 37: | ||
php_define[sendmail_path] = / | php_define[sendmail_path] = / | ||
* Workers starts with a INI section. The value of the section is named with the worker' | * Workers starts with a INI section. The value of the section is named with the worker' | ||
- | * The directive **is_a_reference** set the current worker as a reference. It can be set to yes or no. < | ||
- | * The directive **reference** set the worker to use as a reference. It's named **reference** and can be set to any worker set as a reference by **is_a_reference**. < | ||
===== Yet known directives ===== | ===== Yet known directives ===== | ||
==== Global directives ==== | ==== Global directives ==== | ||
* **daemonize**. Set to yes/no. Default to yes. Does FPM run as a standalone daemon or stays in foreground (debugging purpose). | * **daemonize**. Set to yes/no. Default to yes. Does FPM run as a standalone daemon or stays in foreground (debugging purpose). | ||
- | * **pid_file**. Set to PID file location. | + | * **pid**. Set to PID file location. |
* **error_log**. Set to error file location. | * **error_log**. Set to error file location. | ||
* **log_level**. Set the log_level: notice, warn, error or alert. | * **log_level**. Set the log_level: notice, warn, error or alert. | ||
Line 51: | Line 51: | ||
* **user**. | * **user**. | ||
* **group**. | * **group**. | ||
- | * **pm.style**. | + | * **pm**. |
- | * **pm.dynamic.start_servers**. | + | * **pm.start_servers**. |
- | * **pm.dynamic.min_spare_servers**. | + | * **pm.min_spare_servers**. |
- | * **pm.dynamic.max_spare_servers**. | + | * **pm.max_spare_servers**. |
* **pm.max_children**. | * **pm.max_children**. | ||
- | * **listen_address**. | + | * **pm.max_requests**. |
+ | * **pm.status_path**. | ||
+ | * **pm.max_requests**. | ||
+ | * **listen.address**. | ||
* **listen.backlog**. | * **listen.backlog**. | ||
* **listen.owner**. | * **listen.owner**. | ||
* **listen.group**. | * **listen.group**. | ||
* **listen.mode**. | * **listen.mode**. | ||
- | * **status**. | + | * **listen.allowed_client**. |
- | * **ping**. | + | * **ping.path**. |
- | * **pong**. | + | * **ping.response**. |
- | * **php_define[]**. | + | |
* **chroot**. | * **chroot**. | ||
* **chdir**. | * **chdir**. | ||
- | * **allowed_clients**. | ||
- | * **environment[]**. | ||
* **request_terminate_timeout**. | * **request_terminate_timeout**. | ||
* **request_slowlog_timeout**. | * **request_slowlog_timeout**. | ||
Line 74: | Line 74: | ||
* **rlimit_core**. | * **rlimit_core**. | ||
* **rlimit_files**. | * **rlimit_files**. | ||
- | * **max_requests**. | ||
* **catch_worker_output**. | * **catch_worker_output**. | ||
- | ===== Not yet known directives ===== | + | * **php_value[]**. |
+ | * **php_admin_value[]**. | ||
+ | * **php_flag[]**. | ||
+ | * **php_admin_flag[]**. | ||
+ | * **env[]**. | ||
* **include**. | * **include**. | ||
- | * **reference**. | ||
- | * **is_a_reference**. | ||
===== Rename directive proposal ===== | ===== Rename directive proposal ===== | ||
In this section, I want to propose to rename some of the yet know directives. | In this section, I want to propose to rename some of the yet know directives. | ||
- | * **pm.style** to **pm[mode]**. Set process manager directives into an array. Rename also style in mode which is more understandable, | + | * **pm.style** to **pm**. |
- | * **pm.dynamic.start_servers** to **pm[start_servers]**. As start_servers is only used with dynamic mode, it's not necessary to precise it's dynamic. | + | * **pm.dynamic.start_servers** to **pm.start_servers**. As start_servers is only used with dynamic mode, it's not necessary to precise it's dynamic. |
- | * **pm.dynamic.min_spare_servers** to **pm[min_spare_servers]**. Same as start_servers. | + | * **pm.dynamic.min_spare_servers** to **pm.min_spare_servers**. Same as start_servers. |
- | * **pm.dynamic.max_spare_servers** to **pm[max_spare_servers]**. Same as start_servers. | + | * **pm.dynamic.max_spare_servers** to **pm.max_spare_servers**. Same as start_servers. |
- | * **pm.max_children** to **pm[max_children]**. | + | * **status** to **pm.status_path**. The status directive is directly related to PM as it's its status page. |
- | * **status** to **pm[status]**. The status directive is directly related to PM as it's its status page. | + | * **listen_address** to **listen.address** |
- | * Set listen directives as an array, like PM: | + | * **allowed_clients** to **listen.allowed_clients** |
- | | + | * **ping** and **pong** to a subsection: |
- | | + | * **ping.path** to set the ping path request (/ping) |
- | * **listen[user]** | + | * **ping.response** to set the response from the previous request |
- | * **listen[group]** | + | * **max_requests** to **pm.max_requests.**. Move this directive to the PM array as it's directly related to PM. |
- | * **listen[mode]** | + | |
- | * **ping** and **pong** to a ping array: | + | |
- | * **ping[path]** to set the ping path request (/ping) | + | |
- | * **ping[response]** to set the response from the previous request | + | |
- | * **max_requests** to **pm[max_requests]**. Move this directive to the PM array as it's directly related to PM. | + | |
* **environment[]** to **env[]**. The short word env is enough to understand and closer to reality (env shell command). | * **environment[]** to **env[]**. The short word env is enough to understand and closer to reality (env shell command). | ||
* **php_define[]** to **php_flag[]**, | * **php_define[]** to **php_flag[]**, | ||
- | * **allowed_clients** to **allowed_client[]** as there could be more than one allowed client. | ||
+ | ===== Examples ===== | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
===== Proposal and Patch ===== | ===== Proposal and Patch ===== | ||
- | I've started writting | + | * The first version of the patch is available at http://www.fatbsd.com/ |
===== Changelog ===== | ===== Changelog ===== | ||
- | fat - 2010-03-30 - initial RFC version. | + | * fat - 2010-03-30 - initial RFC version. |
+ | * fat - 2010-04-13 - remove unnecessary use of arrays (for pm, ping and listen) + add examples | ||
+ | * fat - 2010-04-15 - first revision of the patch has been added | ||
+ | * fat - 2010-04-15 - add warning header to explain this RFC is only about sapi/ | ||
+ | * fat - 2010-04-21 - commit the patch (revision 298281) |
rfc/fpm/ini_syntax.1269969347.txt.gz · Last modified: 2017/09/22 13:28 (external edit)