首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Node.js应用程序作为其自己的进程运行?

问如何将Node.js应用程序作为其自己的进程运行?
EN

Stack Overflow用户
提问于 2011-01-13 22:24:09
回答 16查看 99.3K关注 0票数 199

部署Node.js的最佳方法是什么?

我有一个Dreamhost VPS (他们称之为VM),并且我已经能够安装Node.js并设置代理。只要我保持启动node的SSH连接是打开的,这就很好用。

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2015-02-16 21:06:11

2016答案:几乎每个Linux发行版都带有systemd,这意味着永远不再需要、monit、PM2等--您的操作系统已经处理了这些任务。

创建一个myapp.service文件(显然,将'myapp‘替换为你的应用程序的名称):

代码语言:javascript
复制
[Unit]
Description=My app

[Service]
ExecStart=/var/www/myapp/app.js
Restart=always
User=nobody
# Note Debian/Ubuntu uses 'nogroup', RHEL/Fedora uses 'nobody'
Group=nobody
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/var/www/myapp

[Install]
WantedBy=multi-user.target

如果您是Unix新手,请注意: /var/www/myapp/app.js应该将#!/usr/bin/env node放在第一行,并将可执行模式打开为chmod +x myapp.js。

将您的服务文件复制到/etc/systemd/system文件夹。

告诉systemd关于systemctl daemon-reload的新服务。

从systemctl start myapp开始。

使用systemctl enable myapp使其在引导时运行。

使用journalctl -u myapp查看日志

这是取自,它还包括生成一个AWS/DigitalOcean/Azure CloudConfig来构建Linux/node服务器的命令(包括.service文件)。

票数 115
EN

Stack Overflow用户

发布于 2011-01-13 22:37:26

使用Forever。它在单独的进程中运行Node.js程序,如果有死掉的程序,就重新启动它们。

用法:

  • forever start example.js表示启动process.
  • forever list,查看由forever
  • forever stop example.js启动的所有进程的列表;forever stop 0表示停止索引为0的进程(如forever list).

所示

票数 101
EN

Stack Overflow用户

发布于 2011-04-15 03:58:14

我在这里写了我的部署方法:Deploying node.js apps

简而言之:

  • 使用git post-receive hook
  • Jake作为构建工具的
  • Upstart作为节点的服务包装器
  • Monit监控和重启应用程序it go down
  • nginx将请求路由到同一服务器上的不同应用程序
票数 41
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4681067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档