Rails Default Settings
 
Table of Contents
Ruby Rack/Rails Settings Ruby Path   Run-time Mode   Max Connections   Environment   Initial Request Timeout   Retry Timeout   Keep Alive Timeout   Response Buffering   Max Idle Time   Back Log   Run On Start Up   Priority   Memory Soft Limit   Memory Hard Limit   Process Soft Limit   Process Hard Limit   
Rack/Rails Shared Hosting Enable Shared Hosting   Max Apps Per Account   Max Ruby Proceses Per Account   
 
Ruby Rack/Rails SettingsGo to top
Description: Default configuration for Ruby Rack/Rails applications configured through Rack/Rails Contexts.
Ruby PathGo to top
Description: Specifies path to 'ruby' executable. Generally it is /usr/bin/ruby or /usr/local/bin/ruby depending on where ruby has been installed to.
Syntax: Absolute path.
Run-time ModeGo to top
Description: Specifies which mode Rack/Rails will be running as, 'Development', 'Production' or 'Staging'. Default is 'Production'.
Syntax: Select from drop down list
Max ConnectionsGo to top
Description: Specifies the maximum concurrent connections that can be established between the web server and an external application. This setting controls how many requests can be processed concurrently by an external application. However, the real limit also depends on the external application itself. Set this value higher will not help if the external application is not fast enough or cannot scale to large number of concurrent requests.
Syntax: Integer number
Tips: [Performance] Setting a high value does not directly translate to higher performance. Set the limit to a value that will not overload the the external application will provide the best performance/throughput.
EnvironmentGo to top
Description: Specifies some extra environment variables for the external application.
Syntax: key=value multiple variables can be separated by "ENTER"
Initial Request TimeoutGo to top
Description: Specifies the maximum time the web server waits for the external application to respond to the first request over a new established connection. If the web server does not receive any data from the external application within this timeout limit, it will mark this connection as bad. This helps to identify communication problem with external application as quickly as possible. If some requests take longer time to process, increase this limit to avoid "503" error messages.
Syntax: Integer number
Retry TimeoutGo to top
Description: Specifies the period of time that the web server waits before retrying the external application that had prior communication problem.
Syntax: Integer number
Keep Alive TimeoutGo to top
Description: Specifies the maximum time to keep an idle persistent connection open. When set to -1, the connection never timeout. When set to >=0, the connection will be closed after the timeout has been reached.
Syntax: int
Response BufferingGo to top
Description: Specifies whether to buffer response received from external applications. If Apache's Non-Parsed-Header mode is available enabled, buffering is turned off for response with full HTTP headers.
Syntax: Select from drop down list
Max Idle TimeGo to top
Description: Specifies the maximum idle time before an external application is stopped by the server. When set to -1, the external application will not be stopped by the server. Default value is -1. This feature allows resources used by idle applications to be freed. It is especially useful in mass hosting environment when you need to define many applications running in setuid mode for the sake of maximum security.
Syntax: Select from radio box
Back LogGo to top
Description: Specifies the backlog of the listening socket. Required if Auto Start is enabled.
Syntax: Integer number
Run On Start UpGo to top
Description: Specifies whether to start the external application at server start up. Only applicable to external applications that can manage its own child processes and where 'Instances' value is set to '1'. If enabled, external processes will be created at server startup instead of run-time.
Syntax: Select from radio box
Tips: [Performance] If configured external process has significant startup overhead, such as Rail apps, then this option should be enabled to decrease first-page response time.
PriorityGo to top
Description: Specifies priority of the external application process. Value ranges from -20 to 20, lower number means higher priority. This priority cannot be set higher (lower number) than server's own. Otherwise, server's priority will be used and this value is disregarded.
Syntax: int
See Also: Server Priority
Memory Soft LimitGo to top
Description: Specifies memory consumption limit in bytes for an external application process or an external application started by server. The main purpose of this limit is to prevent excessive memory usage because of software bug or intention attacks, not to impose a limit on normal usage, make sure to leave enough head room, otherwise your application will fail and 503 error may be returned. It can be set at server level or at individual external application level. Server level limit will be used if it is not set at individual application level. Operating system's default will be used if the value is set to 0 or absent at both levels.
Syntax: Integer number
Tips: [Attention] Do not over tune this limit, it may result in 503 errors if your application need more memory.
Memory Hard LimitGo to top
Description: same as Memory Soft Limit, "Soft Limit" can be raised up to the "Hard Limit" from within a user process. It can be set at server level or at individual external application level. Server level limit will be used if it is not set at individual application level. Operating system's default will be used if the value is set to 0 or absent at both levels.
Syntax: Integer number
Process Soft LimitGo to top
Description: Limits the total number of processes can be created on behalf of a user. This effectively limits the number of processes can be launched by web server on behalf of a user. All existing processes will be counted against this limit, not just new process to be started. If the limit is set to 10, and there are more than 10 processes running under one user, then no new process can be started by web server for that user (suEXEC).
The main purpose of this limit is to prevent "fork bomb" attacks or excessive usage, not to impose a limit on normal usage, make sure to leave enough head room. It can be set at server level or at individual external application level. Server level limit will be used if it is not set at individual application level. Operating system's default value will be used if this value is 0 or absent at both levels.
Syntax: Integer number
Process Hard LimitGo to top
Description: Same as Process Soft Limit, "Soft Limit" can be raised up to the "Hard Limit" from within a user process. It can be set at server level or at individual external application level. Server level limit will be used if it is not set at individual application level. Operating system's default value will be used if the value is set to 0 or absent at both levels.
Syntax: Integer number
Rack/Rails Shared HostingGo to top
Description: Rack/Rails shared hosting is supported by LiteSpeed Web Server since release 3.2. By using our high performance, highly scalable Ruby LSAPI module, LiteSpeed Rack/Rails hosting solution can deliver the best performance with minimum server resource requirement. In addition, it is compatible with all existing web hosting control panels.
The user manageable Rack/Rails configuration file is located at user's home directory or virtual host root directory, named as ".ls_rails_config". Syntax is like
#RailsApp     

RailsApp testApp "/lsws/testrails" "development" 4 1



#RailsAppMap   

RailsAppMap testApp "testrails.com" "/"

RailsAppMap testApp "test.testrails.com" "/"

"App Path" is relative to the user's home directory or the virtual host root directory. Whenever this file is touched, Rails applications will be restarted.
Enable Shared HostingGo to top
Description: Specifies whether to enable rack/rails shared hosting. Default is disabled.
Syntax: Select from radio box
Max Apps Per AccountGo to top
Description: Specifies the maximum number of rack/rails applications can be created per account. Default is 1. Each rack/rails application will take large amount of system resource, it is not recommended to set a high limit, otherwise, it will affect the performance of whole server if one user abuse it.
Syntax: Integer number
Max Ruby Proceses Per AccountGo to top
Description: Specifies the maximum number of ruby processes can be created per account. Default is 10. If one account run multiple rack/rails applications, the total number of ruby processes of all applications cannot exceed this limit. Each ruby process will take large amount of system resource, it is not recommended to set a high limit, otherwise, it will affect the performance of whole server if one user abuse it.
Syntax: Integer number