55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
# File 'lib/phusion_passenger/standalone/start_command.rb', line 55
def run
parse_my_options
sanity_check_options
ensure_nginx_installed
require_file_tail if should_watch_logs?
determine_various_resource_locations
require_app_finder
@app_finder = AppFinder.new(@args, @options)
@apps = @app_finder.scan
@plugin.call_hook(:found_apps, @apps)
= {}
@plugin.call_hook(:before_creating_nginx_controller, )
create_nginx_controller()
begin
start_nginx
show_intro_message
daemonize if @options[:daemonize]
Thread.abort_on_exception = true
@plugin.call_hook(:nginx_started, @nginx)
watch_log_files_in_background if should_watch_logs?
wait_until_nginx_has_exited
rescue Interrupt
stop_threads
stop_nginx
exit 2
rescue SignalException => signal
stop_threads
stop_nginx
if signal.message == 'SIGINT' || signal.message == 'SIGTERM'
exit 2
else
raise
end
rescue Exception => e
stop_threads
stop_nginx
raise
ensure
stop_threads
end
ensure
if @temp_dir
FileUtils.rm_rf(@temp_dir) rescue nil
end
@plugin.call_hook(:cleanup)
end
|