centOS上的节点js应用程序将在服务器启动时启动

时间:2018-10-11 16:02:07

标签: node.js linux deployment centos7

我是一个nodejs和devops初学者。我开发了一个nodejs&express应用程序。把它放在github上。然后将其部署在cenos服务器上。在端口3000上可用。 然后,我接下来的两个任务是确保它在端口80上可用并且在服务器重新启动时可用。

为了确保它在端口80上可用,我遵循了问题here 并且做了

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

然后在服务器重启时启动它,我按照here的要求尝试了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]#

衷心感谢您的帮助。

谢谢

0 个答案:

没有答案