0
COMMANDS = %w(start stop restart)
0
- :env => 'development',
0
- :log_file => 'log/thin.log',
0
- :pid_file => 'tmp/pids/thin.pid'
0
+ :environment => 'development',
0
+ :address => '0.0.0.0',
0
+ :log => 'log/thin.log',
0
+ :pid => 'tmp/pids/thin.pid',
0
opts = OptionParser.new do |opts|
0
opts.separator "Server options:"
0
- opts.on("-a", "--address HOST", "bind to HOST address (default: 0.0.0.0)") { |host| options[:host] = host }
0
- opts.on("-p", "--port PORT", "use PORT (default: 3000)") { |port| options[:port] = port }
0
- opts.on("-e", "--environment ENV", "Rails environment (default: development)") { |env| options[:env] = env }
0
- opts.on("-c", "--chdir PATH", "Change to dir before starting") { |dir| options[:root] = File.expand_path(dir) }
0
+ opts.on("-a", "--address HOST", "bind to HOST address (default: 0.0.0.0)") { |host| options[:address] = host }
0
+ opts.on("-p", "--port PORT", "use PORT (default: 3000)") { |port| options[:port] = port.to_i }
0
+ opts.on("-e", "--environment ENV", "Rails environment (default: development)") { |env| options[:environment] = env }
0
+ opts.on("-c", "--chdir PATH", "Change to dir before starting") { |dir| options[:chdir] = File.expand_path(dir) }
0
+ opts.on("-s", "--servers NUM", "Number of servers to start") { |num| options[:servers] = num.to_i }
0
opts.on("-d", "--daemonize", "Run daemonized in the background") { options[:daemonize] = true }
0
opts.on("-l", "--log FILE", "File to redirect output",
0
- "(default: #{options[:log
_file]})") { |file| options[:log_file] = file }
0
+ "(default: #{options[:log
]})") { |file| options[:log] = file }
0
opts.on("-P", "--pid FILE", "File to store PID",
0
- "(default: #{options[:pid
_file]})") { |file| options[:pid_file] = file }
0
+ "(default: #{options[:pid
]})") { |file| options[:pid] = file }
0
opts.on("-t", "--timeout SEC", "Request or command timeout in sec",
0
- "(default: #{options[:timeout]})") { |sec| options[:timeout] = sec
}
0
+ "(default: #{options[:timeout]})") { |sec| options[:timeout] = sec
.to_i }
0
opts.on("-u", "--user NAME", "User to run daemon as (use with -g)") { |user| options[:user] = user }
0
opts.on("-g", "--group NAME", "Group to run daemon as (use with -u)") { |group| options[:group] = group }
0
opts.separator "Common options:"
0
opts.on_tail("-D", "--debug", "Set debbuging on") { $DEBUG = true }
0
+ opts.on_tail("-h", "--help", "Show this message") { puts opts; exit }
0
+ opts.on_tail('-v', '--version', "Show version") { puts Thin::SERVER; exit }
0
- opts.on_tail("-h", "--help", "Show this message") do
0
- opts.on_tail('-v', '--version', "Show version") do
0
+ options[:servers] && options[:servers] > 1
0
- server = Thin::Server.new(options[:host], options[:port])
0
+ server = Thin::Cluster.new(options)
0
+ server = Thin::Server.new(options[:address], options[:port])
0
- server.pid_file = options[:pid_file]
0
- server.log_file = options[:log_file]
0
- server.timeout = options[:timeout]
0
+ server.pid_file = options[:pid]
0
+ server.log_file = options[:log]
0
+ server.timeout = options[:timeout]
0
- if options[:daemonize]
0
- server.change_privilege options[:user], options[:group] if options[:user] && options[:group]
0
+ if options[:daemonize]
0
+ server.change_privilege options[:user], options[:group] if options[:user] && options[:group]
0
- server.app = Rack::Adapter::Rails.new(options)
0
+ server.app = Rack::Adapter::Rails.new(options.merge(:root => options[:chdir]))
0
- Thin::Server.kill options[:pid_file], options[:timeout]
0
+ server = Thin::Cluster.new(options)
0
+ Thin::Server.kill options[:pid], options[:timeout]
0
- # Restart only make sense when running as a daemon
0
- options.update :daemonize => true
0
+ server = Thin::Cluster.new(options)
0
+ # Restart only make sense when running as a daemon
0
+ options.update :daemonize => true
0
-Dir.chdir(options[:
root])
0
+Dir.chdir(options[:
chdir])
0
if COMMANDS.include?(command)
Comments
No one has commented yet.