rfc:fpm:ini_syntax

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
rfc:fpm:ini_syntax [2010/03/30 17:15] fatrfc:fpm:ini_syntax [2010/04/15 12:05] fat
Line 1: Line 1:
 ====== Request for Comments: FPM INI Syntax ====== ====== Request for Comments: FPM INI Syntax ======
-  * Version: 1.0 +  * Version: 1.1 
-  * Date: 2010-03-30+  * Date: 2010-04-13
   * Author: Jérôme Loyet <jerome.at.loyet.dot.net>   * Author: Jérôme Loyet <jerome.at.loyet.dot.net>
   * Status: Under Discussion   * Status: Under Discussion
Line 7: Line 7:
  
 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 41: Line 44:
 ==== 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 54:
   * **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**. 
 +  * **listen.address**.
   * **listen.backlog**.   * **listen.backlog**.
   * **listen.owner**.   * **listen.owner**.
   * **listen.group**.   * **listen.group**.
   * **listen.mode**.   * **listen.mode**.
-  * **status**. +  * **ping.path**. 
-  * **ping**. +  * **ping.response**.
-  * **pong**. +
-  * **php_define[]**.+
   * **chroot**.   * **chroot**.
   * **chdir**.   * **chdir**.
-  * **allowed_clients**. 
-  * **environment[]**. 
   * **request_terminate_timeout**.   * **request_terminate_timeout**.
   * **request_slowlog_timeout**.   * **request_slowlog_timeout**.
Line 76: Line 77:
   * **max_requests**.   * **max_requests**.
   * **catch_worker_output**.   * **catch_worker_output**.
 +  * **php_value[]**.
 +  * **php_admin_value[]**.
 +  * **php_flag[]**.
 +  * **php_admin_flag[]**.
 +  * **allowed_client[]**.
 +  * **env[]**.
 ===== Not yet known directives ===== ===== Not yet known directives =====
   * **include**.   * **include**.
Line 82: Line 89:
 ===== 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, I think+  * **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.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: +  * **ping** and **pong** to a subsection
-    * **listen[address]** +    * **ping.path** to set the ping path request (/ping) 
-    * **listen[backlog]** +    * **ping.response** to set the response from the previous request 
-    * **listen[user]** +  * **max_requests** to **pm.max_requests.**. Move this directive to the PM array as it's directly related to PM.
-    * **listen[group]** +
-    * **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_value[]**, **php_admin_flag[]**, **php_admin_value[]**. This is the same syntax as the apache sapi.   * **php_define[]** to **php_flag[]**, **php_value[]**, **php_admin_flag[]**, **php_admin_value[]**. This is the same syntax as the apache sapi.
   * **allowed_clients** to **allowed_client[]** as there could be more than one allowed client.   * **allowed_clients** to **allowed_client[]** as there could be more than one allowed client.
  
 +===== Examples =====
 +  * [[http://www.fatbsd.com/fpm/xml.html|The previous XML syntax]]
 +  * [[http://www.fatbsd.com/fpm/fpm_ini.html|The new INI syntax]]
 ===== Proposal and Patch ===== ===== Proposal and Patch =====
  
-I've started writting the patch. Work In progress.+  * The first version of the patch is available at http://www.fatbsd.com/fpm/fpm-ini-v1.patch. The include function is not YET implemented, so as the reference system which is maybe too complicated.
  
 ===== 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/fpm/*
rfc/fpm/ini_syntax.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1