2015-09-25 72 views
3

玉傢伙,PM2 - 自動啓動上Raspbian(樹莓派)不工作

這是推動我堅果......不能讓我的應用程序的NodeJS到自動啓動開機@在樹莓派...

機器:Raspberry 2(Raspbian Jessie)

嘗試了我在Google上找到的幾乎所有可能的解決方案。

這是我已經結束了:

安裝PM2

$ sudo npm install -g pm2 

這將其安裝成的init.d腳本並運行該應用程序爲pi用戶

$ sudo pm2 startup raspberry -u pi 
[PM2] Generating system init script in /etc/init.d/pm2-init.sh 
[PM2] Making script booting at startup... 
[PM2] -raspberry- Using the command: 
    su -c "chmod +x /etc/init.d/pm2-init.sh && update-rc.d pm2-init.sh defaults" 
[PM2] Done. 

我讀過劇本指錯.pm2文件夾(看在根文件夾,而不是用戶的文件夾),所以我改變了

$ sudo vi /etc/init.d/pm2-init.sh 

改變export PM2_HOME="/root/.pm2"export PM2_HOME="/home/pi/.pm2"

$ cd /opt/mycoolnodeproject 

開始我的節點項目,PM2

$ pm2 start server.js -x --name "node-project" 

保存活動的進程,因此將在重新啓動時重新啓動它們(如果PI崩潰,那就將它保存在自動關機)

$ pm2 dump 

所以現在服務器啓動並運行,並且工作正常......直到我重新啓動!我認爲,PM2會自動啓動我的節點應用,但由於某種原因,它不... :(

任何想法,問題可能是什麼

順便說一句:我也試着撥打啓動這樣的sudo env PATH=$PATH:/usr/local/bin pm2 startup raspberry -u pi,但也不能工作。

問候,

薩沙

+0

您是否使用sudo安裝pm2? – Mia

+0

sudo npm install -g pm2 – Mia

+0

我有類似的問題 - 想知道你是否設法解決你的問題。 – Mia

回答

10

米婭的評論讓我再次檢查PM2的問題列表,有人想出如何做到這一點!:)

https://github.com/Unitech/pm2/issues/1654

解決辦法:

sudo pm2 startup systemd -u <username> 

就像一個魅力! :)

薩沙

+3

這是我:)我很高興它幫助。 – Mia

+0

這適用於我在樹莓派3! –

1

我還搜查了好幾天都沒有成功,但隨後, 我得到了它的很簡單的工作。


  1. 在Raspian點擊菜單,首選項,主菜單編輯器
  2. 單擊首選項,並檢查LXSession默認應用
  3. 單擊確定並關閉主菜單編輯器
  4. 現在單擊菜單,在首選項下點擊on默認應用程序爲LXSession
  5. LXSession配置打開
  6. 點擊自動啓動
  7. 在手動自動啓動應用程序粘貼到你的java命令行
  8. 點擊添加
  9. 關閉LXSession配置應用程序,然後重新啓動PI

您的Java應用程序重新啓動後,應運行

+0

Java?我錯過了什麼嗎? – Dodekeract

2

我能使用此命令讓PM2在RPi上正確啓動:

sudo env PATH=$PATH:/usr/local/bin pm2 startup systemd -u pi --hp /home/pi

--hp /home/pi部分似乎是差異。這是我發現許多解決方案中沒有的解決方案。

0

下面是基於this article一個解決辦法(建議的解決方法並不能幫助我):

  1. 做一個小型的啓動腳本init.d中對自己復活PM2過程

    #! /bin/sh 
    # /etc/init.d/pm2 
    # 
    # help documentation: 
    #https://debian-administration.org/article/28/Making_scripts_run_at_boot_time_with_Debian 
    
    pm2 resurrect 
    
  2. 使其可執行

    chmod 755 /etc/init.d/blah 
    
  3. 更新系統符號鏈接

    update-rc.d pm2 defaults 
    
  4. 重新啓動,進入您的網站(並查看日期;確保它不是瀏覽器緩存的)