我不知道这是不是一个愚蠢的问题,但是如何在我的ec2实例没有打开puTTy窗口的情况下保持我的puma服务器运行我的rails应用程序?我想让它启动然后关闭窗口而不是一直打开我的电脑。
答案 0 :(得分:1)
您可以使用screen
screen
恢复流程(参见实际控制台)
screen -ls
screen -r <screen_name>
请注意,所有屏幕进程都将在服务器重启时被终止
答案 1 :(得分:1)
为了让Puma服务器在EC2中运行,您可以对其进行守护,即在后台运行它。
如果您正在使用puma,那么对于非开发环境,您应该将config/puma.rb
文件与daemonize为true。您的puma.rb
文件应该是
railsenv = ENV.fetch("RAILS_ENV") { "development" }
environment railsenv
if railsenv != "development"
application_path = '/home/ubuntu/hybrid'
daemonize true
directory application_path
pidfile "#{application_path}/tmp/pids/puma-#{railsenv}.pid"
state_path "#{application_path}/tmp/pids/puma-#{railsenv}.state"
stdout_redirect "#{application_path}/log/puma-#{railsenv}.stdout.log", "#{application_path}/log/puma-#{railsenv}.stderr.log"
workers ENV.fetch("WEB_CONCURRENCY") { 2 }
end
threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }.to_i
threads threads_count, threads_count
port ENV.fetch("PORT") { 3000 }
现在您可以将其作为bundle exec pumactl -F config/puma.rb start
启动。你可以同样stop
或restart
美洲狮服务器。