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 13:14] – 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 SAPI inclusion | + | ====== 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 18: | Line 21: | ||
But it comes that we < | But it comes that we < | ||
- | ===== The requierements | + | ===== Requirements |
- | * An **include** directive to include one or several files at once | + | * An include directive to include one or several files at once. This directive can be set everywhere in the configuation files. |
- | * A **global** section which include global directives (pid file, ...) | + | * A global section which include global |
+ | * At least one **worker** section wich includes: | ||
+ | * specific simple directives (user=, group=, status=, ...) | ||
+ | * specific array directives (environment[PATH]=, | ||
- | \\ | + | ===== Implementation ===== |
- | \\ | + | I propose to implement the previous requirements this way: |
- | __**The RFC is not yet finished.**__ | + | * The include directive is a simple key/value. The key is named **include**. |
+ | include=/ | ||
+ | * The global section can start with an INI section named globals. This INI section | ||
+ | | ||
+ | | ||
+ | php_define[sendmail_path] = / | ||
+ | * Workers starts with a INI section. The value of the section is named with the worker' | ||
+ | ===== Yet known directives ===== | ||
+ | ==== Global directives ==== | ||
+ | * **daemonize**. Set to yes/no. Default to yes. Does FPM run as a standalone daemon or stays in foreground (debugging purpose). | ||
+ | * **pid**. Set to PID file location. | ||
+ | * **error_log**. Set to error file location. | ||
+ | * **log_level**. Set the log_level: notice, warn, error or alert. | ||
+ | * **process_control_timeout**. Set a time value. | ||
+ | * **emergency_restart_interval**. Set a time value. | ||
+ | * **emergency_restart_threshold**. Set a time value. | ||
+ | |||
+ | ==== Worker directives ==== | ||
+ | * **user**. | ||
+ | * **group**. | ||
+ | * **pm**. | ||
+ | * **pm.start_servers**. | ||
+ | * **pm.min_spare_servers**. | ||
+ | * **pm.max_spare_servers**. | ||
+ | * **pm.max_children**. | ||
+ | * **pm.max_requests**. | ||
+ | * **pm.status_path**. | ||
+ | * **pm.max_requests**. | ||
+ | * **listen.address**. | ||
+ | * **listen.backlog**. | ||
+ | * **listen.owner**. | ||
+ | * **listen.group**. | ||
+ | * **listen.mode**. | ||
+ | * **listen.allowed_client**. | ||
+ | * **ping.path**. | ||
+ | * **ping.response**. | ||
+ | * **chroot**. | ||
+ | * **chdir**. | ||
+ | * **request_terminate_timeout**. | ||
+ | * **request_slowlog_timeout**. | ||
+ | * **slowlog**. | ||
+ | * **rlimit_core**. | ||
+ | * **rlimit_files**. | ||
+ | * **catch_worker_output**. | ||
+ | * **php_value[]**. | ||
+ | * **php_admin_value[]**. | ||
+ | * **php_flag[]**. | ||
+ | * **php_admin_flag[]**. | ||
+ | * **env[]**. | ||
+ | * **include**. | ||
+ | ===== Rename directive proposal ===== | ||
+ | In this section, I want to propose to rename some of the yet know directives. | ||
+ | * **pm.style** to **pm**. Remove **style** and keep only **pm**. It's enough and clearer. It's the main option for the pm subsection. | ||
+ | * **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.max_spare_servers** to **pm.max_spare_servers**. Same as start_servers. | ||
+ | * **status** to **pm.status_path**. The status directive is directly related to PM as it's its status page. | ||
+ | * **listen_address** to **listen.address** | ||
+ | * **allowed_clients** to **listen.allowed_clients** | ||
+ | * **ping** and **pong** to a subsection: | ||
+ | * **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). | ||
+ | * **php_define[]** to **php_flag[]**, | ||
+ | |||
+ | ===== 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.1269954884.txt.gz · Last modified: 2017/09/22 13:28 (external edit)