1
我正在使用Capistrano部署PHP應用程序。我試圖添加重啓Apache的能力,一旦它完成,但然後我的腳本掛起(我猜,因爲它失去了從Web服務器的連接)。有沒有辦法發送service httpd restart
命令並返回而無需等待?下面是我在做什麼(相關部分)...Capistrano重新啓動Apache
namespace :myapp do
task :restart_webserver do
#Show Start of Task
print "Restarting webserver..."
# Restart Web Server
run "service httpd restart"
# Show Green Check Mark on Completion
puts checkmark.gsub(/\\u[\da-f]{4}/i) { |m| [m[-4..-1].to_i(16)].pack('U') }.green
end
end
after "deploy","myapp:restart_webserver"
它掛在重新啓動,然後我不得不Ctrl+C
出腳本來讓它結束。任何方式來使這個非阻塞?
我以root用戶身份進行連接。我知道... ...皺起眉頭......但部署訪問是IP地址有限,所以它不是太糟糕。我發現將'&'添加到命令的末尾會讓它繼續......但服務器實際上不會重新啓動。所以不知道那裏發生了什麼。也許我需要深入瞭解Ruby中的流程分叉如何工作: -/P.S.我的deploy.rb在沒有服務器重啓位的情況下工作正常(並且已經持續了數週)。只是試圖進一步自動化。 –
有沒有想過只是重載重啓? – Electrawn
我會試試看。 –