IIS and FastCGI/Configuring
From Wikibooks, open books for an open world
A default fcgiext.ini file:
; ----------- ; fcgiext.ini ; ----------- ; ; This is the configuration file for the FastCGI handler for IIS 6.0. ; The FastCGI handler will look for this file in the same directory as ; fcgiext.dll. By default, the FastCGI installer will place this file into ; the %windir%\system32\inetsrv directory. ; ; The configuration for FastCGI is a collection of one or more applications. ; A FastCGI application consists of a pool of processes that each handle HTTP ; requests. Each process in the pool will handle one request at a time. ; After each request, the process will be returned to the pool to await ; another request. Each application is required to have its own section in ; the configuration file to specify its behavior. ; ; The main section of the fcgiext.ini file is the [types] section. This ; section associates file extensions from the URL with FastCGI applications. ; ; The general syntax is a follows: ; ; [types] ; abc=Application 1 ; def=Application 2 ; def:1701187997=Application 3 ; *=Application 4 ; *:1701187997=Application 5 ; ; The above example consists of 5 mappings mapped as follows: ; ; - The file extension "abc" is associated with the FastCGI application ; named "Application 1". ; ; - The file extension "def" is associated with the FastCGI application ; named "Application 2". ; ; - The file extension "def" is associated with the FastCGI application ; named "Application 3", but only for requests made to the web site ; with the numeric identifier "1701187997". Note that site-specific ; mappings override non-site-specific mappings. ; ; - Requests with a file extension that does not have a specific mapping ; are associated with the FastCGI application named "Application 4". ; ; - Requests to the web site with the identifier "1701187997" with a file ; extension that does not have a specific mapping are associated with ; the FastCGI application named "Application 5". ; ; Note that application names are ASCII and should generally contain only ; alphanumeric characters, and spaces are allowed. Application names are ; case-insensitive. ; ; Note also that it is allowed for multiple mappings to be associated with ; the same FastCGI application. ; ; The following is a sample application section. Note that the name of ; the section must correspond to at least one mapping in the [types] section ; in order to be used: ; ; [Application 1] ; ; ExePath=string ; - The ExePath property specifies the executable for the FastCGI process, ; where 'string' is the full path to the executable. A non-empty string ; is required. ; ; Arguments=string ; - The Arguments property specifies any arguments to be passed to the ; FastCGI executable, where 'string' represents the arguments. Multiple ; arguments may be space delimited. If there is a space within the argument ; then this argument must be placed in quotes. This property is optional. ; ; EnvironmentVars=string ; - The EnvironmentVars property specifies optional environment variables ; that will be set in the FastCGI executable. If any of the supplied ; variable names collide with existing server variables, the ones specified ; in this property will be used. The format of the string is a comma ; delimited list in the form of 'name1:value1,name2:value2'. If a ; delimiting character, such as a comma, semicolon or slash is necessary in ; a value, it can be preceded by a '/' character (For example: ; 'name1:with/,commas,name2:with/;semicolon,name3:with//slash'. This ; property is optional. ; ; Protocol=string ; - Specifies the protocol used to communicate with the FastCGI process. ; The allowed values are 'NamedPipe' and 'Tcp'. If not specified, the ; default value is 'NamedPipe'. ; ; MaxInstances=n ; - Specifies the maximum number of processes that are allowed in the ; application's process pool. This number directly corresponds to the ; maximum number of concurrent requests that can be handled by the ; application. If not specified, the default value is 10. ; ; QueueLength=n ; - Specifies the maximum number of requests to this application that will ; be queued before the FastCGI handler starts returning errors to clients ; indicating that the application is too busy. If not specified, the default ; value is 1000. ; ; IdleTimeout=n ; - Specifies the time, in seconds, that a FastCGI process for this application ; is allowed to remain idle. If a process remains idle for longer than this ; period, it will be shut down. If not specified, the default value is ; 300 seconds. ; ; ActivityTimeout=n ; - Specifies the maximum time, in seconds, that a FastCGI process for this ; application is allowed to run without communicating with IIS. In practice, ; this timeout is used to detect and shut down 'hung' processes. If not ; specified, the default value is 30 seconds. ; ; RequestTimeout=n ; - Specifies the maximum allowed time, in seconds, for a request to this ; application. If a FastCGI process takes longer than this amount of time ; on a single request, it will be terminated. If not specified, the default ; value is 90 seconds. ; ; InstanceMaxRequests=n ; - Specifies the number of requests a FastCGI process for this application is ; allowed to handle. After handling this number of requests, it is shut ; down so that it can be replaced with a new process. If not specified, the ; default value is 1000. ; ; ResponseBufferLimit=n ; - Data from FastCGI processes is buffered before being returned to the client ; as responses. This property specifies the amount of response data, in ; bytes, that will be buffered for requests to this application. This buffer ; will be flushed to the client once it is full, or when the response is ; complete, whichever occurs first. If not specified, the default value is ; 4194304 (4MB). ; ; FlushNamedPipe=n ; - Specifies whether or not the named pipe between FastCGI processes for this ; application is flushed before shutting down the application. Possible ; values are 0 or 1. For most applications, 0 is the correct value. If you ; see processes hanging after InstanceMaxRequests has been reached, try ; setting this value to 1. If not specified, the default value is 0. ; ; UnhealthyOnQueueFull=n ; - If 1, the worker process hosting is flagged to IIS as unhealthy any time ; that the application's request queue is filled. IIS checks health whenever ; it does a ping to the worker process. If that worker process has been ; flagged as unhealthy, it (along with everything it is hosting) will be ; recycled. If not specified, the default value is 0. ; ; IgnoreExistingFiles=n ; - If 1, this application will ignore any requests where the target file ; exists on the file system, so that IIS can serve them normally. This ; feature is useful in the case where the FastCGI handler is installed as ; a wildcard script map. If not specified, the default value is 0. Note ; that this feature only applies only to IIS 6.0. ; ; IgnoreExistingDirectories=n ; - If 1, this application will ignore any requests where the target is a ; directory on the file system, so that IIS can serve them normally. This ; feature is useful in the case where the FastCGI handler is installed as ; a wildcard script map. If not specified, the default value is 0. Note ; that this feature only applies only to IIS 6.0.