Octofarm: Direkomendasikan Mulai otomatis npm (di bawah linux)?

Dibuat pada 28 Apr 2020  ·  5Komentar  ·  Sumber: OctoFarm/OctoFarm

Apakah ada metode yang disarankan untuk memulai otomatis npm setelah booting selesai di linux. Saya telah mencoba melakukan ini menggunakan init.d dan tidak berhasil.

question

Komentar yang paling membantu

Saya menggunakan file layanan systemd dengan sukses menggunakan Ubuntu. Seperti yang dinyatakan James, versi yang lebih baru akan hadir dengan pm2. Dengan pm2, Anda dapat menjalankan pm2 startup dan itu akan mendeteksi sistem init Anda dan mengeluarkan perintah untuk dijalankan untuk menghasilkan file startup. Saya baru saja melakukannya dan tampaknya bekerja dengan cukup baik.

PENGUNGKAPAN LENGKAP: Saya bahkan belum pernah mendengar tentang pm2 sebelum hari ini jadi saya harus melakukan sedikit riset dan inilah yang saya temukan dan apa yang saya lakukan dan tampaknya berhasil.

Inilah yang terjadi ketika saya menjalankan pm2 startup

ubuntu<strong i="10">@octofarm</strong>:~$ OctoFarm/node_modules/pm2/bin/pm2 startup
[PM2] Init System found: systemd
ubuntu
[PM2] To setup the Startup Script, copy/paste the following command:
sudo env PATH=$PATH:/usr/bin /home/ubuntu/OctoFarm/node_modules/pm2/bin/pm2 startup systemd -u ubuntu --hp /home/ubuntu

Dan kemudian setelah saya menjalankan perintah itu memberi tahu saya:

ubuntu<strong i="14">@octofarm</strong>:~$ sudo env PATH=$PATH:/usr/bin /home/ubuntu/OctoFarm/node_modules/pm2/bin/pm2 startup systemd -u ubuntu --hp /home/ubuntu
[PM2] Init System found: systemd
Platform systemd
Template
[Unit]
Description=PM2 process manager
Documentation=https://pm2.keymetrics.io/
After=network.target

[Service]
Type=forking
User=ubuntu
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=PM2_HOME=/home/ubuntu/.pm2
PIDFile=/home/ubuntu/.pm2/pm2.pid
Restart=on-failure

ExecStart=/home/ubuntu/OctoFarm/node_modules/pm2/bin/pm2 resurrect
ExecReload=/home/ubuntu/OctoFarm/node_modules/pm2/bin/pm2 reload all
ExecStop=/home/ubuntu/OctoFarm/node_modules/pm2/bin/pm2 kill

[Install]
WantedBy=multi-user.target

Target path
/etc/systemd/system/pm2-ubuntu.service
Command list
[ 'systemctl enable pm2-ubuntu' ]
[PM2] Writing init configuration in /etc/systemd/system/pm2-ubuntu.service
[PM2] Making script booting at startup...
[PM2] [-] Executing: systemctl enable pm2-ubuntu...
Created symlink /etc/systemd/system/multi-user.target.wants/pm2-ubuntu.service → /etc/systemd/system/pm2-ubuntu.service.
[PM2] [v] Command successfully executed.
+---------------------------------------+
[PM2] Freeze a process list on reboot via:
$ pm2 save

[PM2] Remove init script via:
$ pm2 unstartup systemd

Semua 5 komentar

banyak menggunakan paket npm yang disebut pm2.

Anda dapat menginstal dengan npm install pm2 -g

Kemudian jalankan yang berikut ini.

pm2 startup

Salin dan tempel output yang diberikan pm2 kepada Anda setelah yang terakhir itu.

pm2 start app.js --name OctoFarm

pm2 save

https://pm2.keymetrics.io/docs/usage/startup/

Ada informasi lebih lanjut tentang itu di sini untuk Anda, beri tahu saya jika Anda buntu.

1.1.5 datang dengan pm2 sebagai dependensi dan berjalan menggunakan itu, semoga saya dapat mengaktifkan perintah startup saat boot sehingga semuanya otomatis tetapi saya belum melihat banyak ke dalamnya.

Saya menggunakan file layanan systemd dengan sukses menggunakan Ubuntu. Seperti yang dinyatakan James, versi yang lebih baru akan hadir dengan pm2. Dengan pm2, Anda dapat menjalankan pm2 startup dan itu akan mendeteksi sistem init Anda dan mengeluarkan perintah untuk dijalankan untuk menghasilkan file startup. Saya baru saja melakukannya dan tampaknya bekerja dengan cukup baik.

PENGUNGKAPAN LENGKAP: Saya bahkan belum pernah mendengar tentang pm2 sebelum hari ini jadi saya harus melakukan sedikit riset dan inilah yang saya temukan dan apa yang saya lakukan dan tampaknya berhasil.

Inilah yang terjadi ketika saya menjalankan pm2 startup

ubuntu<strong i="10">@octofarm</strong>:~$ OctoFarm/node_modules/pm2/bin/pm2 startup
[PM2] Init System found: systemd
ubuntu
[PM2] To setup the Startup Script, copy/paste the following command:
sudo env PATH=$PATH:/usr/bin /home/ubuntu/OctoFarm/node_modules/pm2/bin/pm2 startup systemd -u ubuntu --hp /home/ubuntu

Dan kemudian setelah saya menjalankan perintah itu memberi tahu saya:

ubuntu<strong i="14">@octofarm</strong>:~$ sudo env PATH=$PATH:/usr/bin /home/ubuntu/OctoFarm/node_modules/pm2/bin/pm2 startup systemd -u ubuntu --hp /home/ubuntu
[PM2] Init System found: systemd
Platform systemd
Template
[Unit]
Description=PM2 process manager
Documentation=https://pm2.keymetrics.io/
After=network.target

[Service]
Type=forking
User=ubuntu
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=PM2_HOME=/home/ubuntu/.pm2
PIDFile=/home/ubuntu/.pm2/pm2.pid
Restart=on-failure

ExecStart=/home/ubuntu/OctoFarm/node_modules/pm2/bin/pm2 resurrect
ExecReload=/home/ubuntu/OctoFarm/node_modules/pm2/bin/pm2 reload all
ExecStop=/home/ubuntu/OctoFarm/node_modules/pm2/bin/pm2 kill

[Install]
WantedBy=multi-user.target

Target path
/etc/systemd/system/pm2-ubuntu.service
Command list
[ 'systemctl enable pm2-ubuntu' ]
[PM2] Writing init configuration in /etc/systemd/system/pm2-ubuntu.service
[PM2] Making script booting at startup...
[PM2] [-] Executing: systemctl enable pm2-ubuntu...
Created symlink /etc/systemd/system/multi-user.target.wants/pm2-ubuntu.service → /etc/systemd/system/pm2-ubuntu.service.
[PM2] [v] Command successfully executed.
+---------------------------------------+
[PM2] Freeze a process list on reboot via:
$ pm2 save

[PM2] Remove init script via:
$ pm2 unstartup systemd

Terima kasih atas respon cepat untuk Anda berdua. Akan mencoba ini nanti hari ini. Saya suka/benci sistem Linux - sekitar 10 cara berbeda untuk melakukan segalanya. Saya mulai dengan BSD Unix pada akhir 1980-an.

Tidak masalah, saya akan membiarkan ini terbuka sekarang untuk mengingatkan saya untuk menambahkan beberapa catatan ke README/Wiki

Dokumen instalasi ditambahkan untuk melakukan lintas platform ini

Apakah halaman ini membantu?
0 / 5 - 0 peringkat