2014-10-17 41 views
0

我有一個服務資源,但我不能讓廚師啓動它,而不是廚師剛剛吐出來的錯誤消息:無法得到服務,開始對廚師

SystemCallError: The specified service does not exist as an installed service. - OpenService: The specified service does not exist as an installed service.

我不是肯定該怎麼做才能解決這個問題,我找不到這個錯誤(可能是我沒有找到正確的地方)。

該服務作爲已安裝的gem分發。 服務本身是使用win32-service創業板西納特拉的應用程序來啓動它作爲一個服務 的平臺是Windows服務器(我知道,但我別無選擇,我不得不使用Windows Server)

代碼的廚師這項服務的配方是:

service service_name do 
    init_command ("#{%x(gem env gemdir).strip.gsub('/','\\')}\\gems\\#{service_name}-#{installing_version}") 
    start_command "rake service:start" 
    stop_command "rake service:stop" 
    reload_command "rake service:reload" 
    restart_command "rake service:restart" 
    supports start: true, restart: true, reload: true 
    action [:enable,:start] 
end 

回答

1

這個問題不是與廚師,但與您的服務本身。通常,當我處於這種情況時,我將手動登錄並嘗試啓動該服務。有時候會給你更多的信息。另外,請查看您的應用程序的日誌文件,看看您是否可以找出它未啓動的原因。

最終,廚師只是調用你的init和start命令,但如果這些命令失敗,它不會做太多。

+0

感謝您的幫助,我設法與服務器建立了遠程連接並環視四周。看來正在發生的事情是,廚師將我的寶石安裝到廚師嵌入式紅寶石,但是當它啓動我的寶石時,它使用系統紅寶石(它是獨立的和不同的版本)啓動它。我會嘗試刪除正在安裝的紅寶石,並希望它會使用與廚師一起提供的紅寶石。 – Thermatix 2014-10-17 13:56:28

+0

我忘了補充,你留言幫助的原因是因爲在查看日誌後,我注意到它正在啓動,但沒有繼續。我最後一次看到它是因爲它不能要求主文件,因爲這個問題被修復了,它只能意味着它找不到寶石,我看着,看着寶石被安裝了(沿着與我的寶石)在嵌入式的紅寶石,而不是系統紅寶石。 – Thermatix 2014-10-17 14:04:29

+0

@ user3536548您是否使用chef_gem或gem_package安裝您的應用程序? chef_gem旨在將gem安裝到廚師堆棧中(mysql-gem向配方中的數據庫請求例子),而gem_package的目標是將寶石安裝到系統紅寶石中,所以應該適合您的需要,但有時在windows下,廚師紅寶石是代替gem_package ... – Tensibai 2014-10-17 14:23:47