多年来,由于这篇文章引起了很多关注,因此我在文章的底部列出了每个平台的最佳解决方案。
原始帖子 :
我希望我的node.js服务器在后台运行,即:当我关闭终端时,我希望服务器继续运行。我已经用谷歌搜索并提出了本教程,但是它没有按预期工作。因此,我没有使用该守护程序脚本,而是以为我只使用了输出重定向(该`2>&1
file`部分),但这也不会退出-我在终端中出现空白行,就像它在等待输出/错误一样。
我也尝试过将进程置于后台,但是一旦关闭终端,进程也会被终止。
那么,当我关闭本地计算机时如何使它运行?
2015年的答案 :几乎每个Linux发行版都随附systemd,这意味着 永久,monit,PM2等都不再需要-
您的OS已经可以处理这些任务
。
制作一个myapp.service
文件(用您的应用名称替换“ myapp”):
[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=nogroup
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
在第一行。
将您的服务文件复制到中/etc/systemd/system
。
从开始systemctl start myapp
。
使它能够在启动时运行systemctl enable myapp
。
查看日志 journalctl -u myapp
这取自 我们如何在Linux版2018年上部署节点应用程序 ,该 版本
还包括用于生成AWS / DigitalOcean / Azure CloudConfig来构建Linux
/节点服务器(包括.service
文件)的命令。
问题内容: 每当用户断开手机通话时,我都希望显示自定义弹出消息。问题是如何检测应用程序何时未运行。任何线索都将有所帮助。 问题答案: 已经有一段时间了,并且已经有了很多发展。 首先,如何在Flutter中创建服务以使应用程序始终在后台运行有一些答案? 此外,使用Flutter插件和地理围栏(在2018年9月),Flutter / Background流程 基本上将使您指向在后台执行中等/执行Dar
我用node写了一个工具,如何做到,让用户npm全局安装后,运行直接是后台运行,不需要使用类似pm2之类的工具? 类似Whistle这样的https://www.npmjs.com/package/whistle
问题内容: 我想将Java应用程序作为服务运行。不幸的是,我的局限性在于无法使用Java Service Wrapper之 类的工具(它确实是一种出色的工具)。 有什么方法可以在不依赖外部应用程序的情况下将可执行的JAR作为服务运行吗?我当前已安装该服务,但无法启动。这是我遇到的困扰,除了关于JSW的信息之外,我无法在Google上找到其他任何东西。 问题答案: 有Java Service Wra
问题内容: 我已经开发了一个Java控制台应用程序,该应用程序在启动时打开控制台窗口并保持在前台,我想在后台启动该应用程序。 现在,我通过以下命令行启动该应用程序: 有没有办法实现这种行为?更改命令行参数就足够了,还是我需要对代码进行一些更改? 问题答案: 答案取决于操作系统。
问题内容: 部署Node.js的最佳方法是什么? 我有一个Dreamhost VPS(这就是他们所说的VM),并且我已经能够安装Node.js并设置代理。只要我保持打开节点时启动的SSH连接就可以了。 问题答案: 2016年答案 :几乎每个Linux发行版都随附systemd,这意味着 永久,monit,PM2等都不再需要-您的OS已经可以处理这些任务 。 制作一个文件(用您的应用名称替换“ my
本文向大家介绍Node.js搭建小程序后台服务,包括了Node.js搭建小程序后台服务的使用技巧和注意事项,需要的朋友参考一下 准备条件 一台服务器 SSL证书,小程序规定必须要https协议 服务器后台 Node.js express mongodb pm2 下面以腾讯云主机(centos)为例 安装Node.js yum install nodejs 也可以安装nvm,用nvm管理nodejs