0

管理者がprivate_pubサーバーをリモートで開始/停止/再起動できるようにするために、capistrano レシピ ファイルにいくつかのタスクを追加する予定です。しかし、最初は次のようなものを使用できます

  desc "Start private_pub server"
  task :start do
    run "cd #{current_path};rackup private_pub.ru -s thin -E production -D"
  end

ラックアップ サーバーを停止または再起動する方法に関するドキュメントが見つかりません。オプションが表示されます

  -P, --pid FILE           file to store PID (default: rack.pid)

しかし、kill コマンドを使用してサーバーを停止することもできます。

4

2 に答える 2

0

kill -9その使用は悪い考えであるという点であなたは正しいです。これは不必要なデータの損失につながる可能性があります。私が理解しているように、「control-c」を押すのと同等であり、通常のサーバーを閉じる必要があるkill 2かを使用することをお勧めします。kill -INT私は個人的に、TPW の God gem を使用してサーバーの管理を開始しました。たとえば、ローカルの「geminabox」サーバーを実行するために使用するスクリプトは次のとおりです。

God.watch do |w|
w.name = 'gemserver'
    w.dir = '/usr/local/gemserver'
    w.pid_file = "#{ENV['HOME']}/.god/pids/#{w.name}.pid"
    ru = File.expand_path `which rackup`
    w.start = "#{ru} -D #{w.dir}/config.ru -P #{w.pid_file}"
    # w.stop = lambda { Process.kill(3, `lsof -i :9292`.chomp.to_i) }
    w.behavior :clean_pid_file
    w.keepalive
end
于 2014-04-30T08:00:45.337 に答える