Fun*_*ive 3 node.js loopbackjs
我正在运行一个节点strongloop应用程序,如果它崩溃,需要自动重启.自动重启节点应用程序的最佳方法是什么?当这些崩溃发生时,还有通知吗?
小智 5
你可以使用进程管理器如Strongloop进程管理器(http://strong-pm.io/),PM2(http://pm2.keymetrics.io/)和永远(https://github.com/foreverjs/forever) .还要检查这三者的比较(http://strong-pm.io/compare/).您还可以检查pm2-monitor(https://www.npmjs.com/package/pm2-monitor)以获取通知以及服务器重启.
大多数 Linux 系统最近都改用了systemd,这使得这个过程变得更加简单和高效,并且意味着我们不再需要永远了。
所有你需要的是:
创建服务文件/etc/systemd/system/nodeserver.service。
启用服务systemctl enable nodeserver.service。
启动服务systemctl start nodeserver.service。
你总是可以通过运行以下命令来检查其可用性:
systemctl status nodeserver.service。
如果您对服务文件进行了任何更改,则需要systemctl daemon-reload在重新加载服务之前执行 a systemctl restart nodeserver.service。
.service文件示例:
[Unit]
Description=Node.js Example Server
#Requires=After=mysql.service # Requires the mysql service to run first
[Service]
ExecStart=/usr/local/bin/node /opt/nodeserver/server.js
Restart=always
RestartSec=10 # Restart service after 10 seconds if node service crashes
StandardOutput=syslog # Output to syslog
StandardError=syslog # Output to syslog
SyslogIdentifier=nodejs-example
#User=<alternate user>
#Group=<alternate group>
Environment=NODE_ENV=production PORT=1337
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
顺便说一下,StrongLoop有一篇关于最佳实践的官方文章并被systemd提及。阅读更多。
你也可能想看看这个由 strongloop 人为 nodejs 和 strongloop 构建的模块:https : //github.com/strongloop/strong-service-systemd
(假设您的应用程序在 Linux 上运行)您始终可以编写一个服务来确保应用程序正在运行,并在必要时重新启动。以下是编写服务的方法:
http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html
| 归档时间: |
|
| 查看次数: |
4809 次 |
| 最近记录: |