приложение узла js на centOS для запуска при запуске сервера - PullRequest
0 голосов
/ 11 октября 2018

Я новичок в nodejs и devops.Я разработал приложение nodejs & express.Положи это на github.Затем развернул его на сервере cenos.Он был доступен на порту 3000. Затем мои следующие две задачи состояли в том, чтобы убедиться, что он был доступен на порту 80 и доступен при перезапуске сервера.

Чтобы убедиться, что он был доступен на порту 80, я последовал за вопросом здесь и сделал

 `sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000`

Затем, чтобы запустить его при перезапуске сервера, я попробовал PM2, как указано здесь

Но я получаю следующее иприложение не запускается при перезапуске приложения.

[root@izp0w38zlt3vpnedj7wlznz ExpressAppfmab]# pm2 start app.js
[PM2] Starting /root/ExpressAppfmab/ExpressAppfmab/app.js in fork_mode (1 instance)
[PM2] Done.
┌──────┬────┬───────┬────────┬────────┬─────┬────────┬───────────┐
│ Name │ id │ mode  │ status │ ↺      │ cpu │ memory │
├──────┼────┼───────┼────────┼────────┼─────┼────────┼───────────┤
│ app  │ 0  │ 0.0.0 │ fork   │ online │ 0   │ 0%     │ 19.9 MB   │
└──────┴────┴───────┴────────┴────────┴─────┴────────┴───────────┘
 Use `pm2 show <id|name>` to get more details about an app
[root@izp0w38zlt3vpnedj7wlznz ExpressAppfmab]# sudo pm2 startup systemd
[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=root
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Environment=PATH=/usr/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=PM2_HOME=/root/.pm2
PIDFile=/root/.pm2/pm2.pid

ExecStart=/usr/lib/node_modules/pm2/bin/pm2 resurrect
ExecReload=/usr/lib/node_modules/pm2/bin/pm2 reload all
ExecStop=/usr/lib/node_modules/pm2/bin/pm2 kill

[Install]
WantedBy=multi-user.target

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

[PM2] Remove init script via:
$ pm2 unstartup systemd
[root@izp0w38zlt3vpnedj7wlznz ExpressAppfmab]#

Любая помощь искренне приветствуется.

Спасибо

...