服务器怎么关闭终端依然运行node,关闭控制台后如何永久运行node.js应用程序?...
关闭控制台后如何永久运行node.js应用程序?
我通过SSH连接到远程服务器。 然后,我使用Forever启动我的node.js应用程序。 一切正常,直到我关闭控制台窗口。 即使通过ssh关闭连接,如何在我的远程服务器上永远运行node.js应用程序? 我只想启动一个应用程序,然后关闭计算机。 我的应用程序应在远程服务器的后台运行。
Pono asked 2020-01-05T22:55:24Z
10个解决方案
57 votes
您可能还需要考虑使用upstart实用程序。 它将允许您像服务一样启动,停止和重新启动节点应用程序。 可以将Upstart配置为在崩溃时自动重新启动应用程序。
安装新贵:
sudo apt-get install upstart
为您的应用程序创建一个简单的脚本,如下所示:
#!upstart
description "my app"
start on started mountall
stop on shutdown
# Automatically Respawn:
respawn
respawn limit 99 5
env NODE_ENV=production
exec node /somepath/myapp/app.js >> /var/log/myapp.log 2>&1
然后将脚本文件(myapp.conf)复制到/ etc / init,并确保将其标记为可执行文件。 然后可以使用以下命令来管理您的应用程序:
sudo start myapp
sudo stop myapp
sudo restart myapp
Derrish Repchick answered 2020-01-05T22:55:46Z
29 votes
两个答案:一个用于Windows,一个用于* nix:
在Windows上,可以使用nohup.out命令启动与stdout实例断开连接的过程:
start node example.js
在* nix上,这有两个方面:断开进程与控制台的连接,并确保它没有收到nohup.out信号(“挂断”),大多数进程(包括Node)将通过终止来响应。 前者可能是可选的,但后者是必需的。
从控制台断开连接很容易:通常,您只需在命令行的末尾放置一个&符号(nohup.out):
# Keep reading, don't just grab this and use it
node example.js &
但是以上内容不能保护该过程免受nohup.out信号的影响。 当关闭外壳程序(控制台)时,程序可能会收到stdout,也可能不会收到stdout,具体取决于称为stderr的外壳程序选项。如果nohup是HUP,则该进程将在外壳程序退出时收到HUP,并且可能会终止。
在我使用的各种Linux变体上,nohup.out默认为stdout,实际上我很开心地使用了多年,直到coderjoe和其他人帮助我理解了(在很长的评论流中,可能被删除了)。 依靠stderr是nohup。
为避免环境中nohup.out可能是stdout的可能性,请明确使用stderr。nohup运行不受HUP信号影响的进程。 您可以这样使用它:
nohup node example.js > /dev/null &
要么
nohup node example.js > your-desired-filename-or-stream-here &
重定向很重要; 如果不执行此操作,最终将得到一个nohup.out文件,其中包含stdout和stderr的输出。(默认情况下,nohup将nohup重定向到nohup,如果stdout正在输出到终端,则将其重定向到2689845102578972)。 如果nohup是从终端接收的,则nohup还会重定向stdin,因此我们不必这样做。有关详细信息,请参阅man nohup或info coreutils 'nohup invocation'。)
通常,对于这些事情,您希望使用进程监视器,以便如果进程由于某种原因而崩溃,监视器将重新启动它,但是上述方法在简单情况下仍然有效。
T.J. Crowder answered 2020-01-05T22:56:49Z
19 votes
总是,简单是最好的,不需要暴发户,不需要永远,只需要nohup:
nohup node file.js &
相信我,我正在跑步,这样我就可以了!
tquang answered 2020-01-05T22:57:18Z
12 votes
我一定会推荐pm2
npm install -g pm2
要启动服务器:pm2 start [yourServerFile.js]
停止服务器:pm2 stop [yourServerFile.js]
关闭客户端,服务器将永远运行。...如果应用崩溃,也将重新启动。
我已经在Ubuntu上运行节点服务器几个月了,零问题
james murphy answered 2020-01-05T22:58:00Z
7 votes
您可以像这样使用npm永久安装:
sudo npm install -g forever
或作为服务:
forever start server.js
或停止服务
forever stop server.js
列出所有正在运行的进程:
forever list
sudhir answered 2020-01-05T22:58:32Z
3 votes
例如node expamle.js &
Emmerman answered 2020-01-05T22:58:52Z
3 votes
在Linux中,SSH进入您的远程服务器并运行
screen
启动到新屏幕。
最后,键入ctrlad可以在不终止进程的情况下分离屏幕会话。
更多信息在这里。
ckirksey3 answered 2020-01-05T22:59:25Z
1 votes
对于Windows,这只是部分答案。 我创建了一个单行的Visual Basic脚本%AppData%\Microsoft\Windows\Start Menu\Programs\Startup\,它将在一个隐藏的窗口中启动您的节点应用程序:
CreateObject("Wscript.Shell").Run "node app.js", 0
要在启动时自动执行它,请打开%AppData%\Microsoft\Windows\Start Menu\Programs\Startup\目录,并将快捷方式添加到app.vbs文件。
有关更多信息,请访问:[https://keestalkstech.com/2016/07/start-nodejs-app-windowless-windows/]
Kees C. Bakker answered 2020-01-05T22:59:54Z
1 votes
我有类似的问题,我认为永远使用将有助于处理崩溃和重新启动
您可以在全球永久安装:sudo nom install -g forever
并运行以下命令:
nohup forever server.js &
这应该处理关闭终端,关闭ssh会话,节点崩溃并重新启动的所有麻烦。
Pini Cheyni answered 2020-01-05T23:00:27Z
1 votes
如果要在生产环境中运行node.js,则应考虑使用PM2,forever.js或Nodemon。
在线比较不同包装的文章并不乏。
Owen Brown answered 2020-01-05T23:00:51Z
服务器怎么关闭终端依然运行node,关闭控制台后如何永久运行node.js应用程序?...相关推荐
- ride.py在运行python3.×版本后导致无法运行及解决办法
最近一直在自学python自动化,网上看到rf框架挺适合初学自动化测试,于是通过虫师的搭建了rf框架, 但是在使用过程中遇到了一个问题,在网上没有找到明确解决办法于是想到记录一下 之前为了搭建rf框架 ...
- macOS下载、安装、使用tomcat服务器及IntelliJ IDEA for Mac 如何集成、配置、运行tomcat
文章目录 web 服务器软件 tomcat 如何下载安装 tomcat macOS 下如何启动 tomcat Windows 启动 tomcat 部署项目的方式 直接将项目放到 webapps 目录下 ...
- ssh中exit命令退出远程服务器_解决Linux关闭终端(关闭SSH等)后运行的程序或者服务自动停止...
问题描述:当SSH远程连接到服务器上,然后运行一个服务 ./catalina.sh start,然后把终端开闭(切断SSH连接)之后,发现该服务中断,导致网页无法访问. 解决方法:使用nohup命令让 ...
- 服务器训练数据 关闭终端,一文明白使用nohup将服务器训练程序后台运行不关闭+随时通过查看训练情况输出与visdom可视化...
使用nohup将训练程序后台不间断运行+随时查看训练情况输出与可视化 使用服务器进行远程训练 由于笔者经常需要使用服务器进行训练,且有些模型训练起来需要很长的时间,如Mask模型,故经常需要长期跑程序 ...
- Linux在后台运行python程序、脚本程序、可执行程序等,关闭终端仍可保持程序运行
欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 Linux在后台运行python程序.脚本程序.可执行程序等,关闭终端仍可保持程序运行 文章目录: 1 为什么需要后台运 ...
- 宝塔面板使用nohup后台运行任务失败,关闭终端后任务自动终止。
项目场景: 项目场景:在宝塔终端执行命令nohup node ../wangyi/app.js > wangyi1.log 2>&1 &后,当前任务成功执行,也能通过公网访 ...
- 解决Linux关闭终端(关闭SSH等)后运行的程序自动停止
CSDN GitHub 解决Linux关闭终端(关闭SSH等)后运行的程序自动停止 AderXCoding/system/tools/ssh_exit 本作品采用知识共享署名-非商业性使用-相同方式共 ...
- npm run dev关闭终端后如何停止?退出vscode不行, 杀掉进程node.exe就行 Port 3030 is already in use [nodemon] app crashed
Port 3030 is already in use [nodemon] app crashed - waiting for file changes before starting... npm ...
- Linux下关闭终端之后继续运行相应的进程
1.后台运行 Linux下一般想让某个程序在后台运行,很多都是使用& 在程序结尾来让程序自动运行.比如我们要运行tesh.sh在后台: ./tesh.sh & 一般这种程序使用& ...
- deepin 服务器_深度终端
概述 深度终端是深度科技精心打造的一款终端模拟器.它拥有简单的界面,丰富而强大的功能.您可以瞬间启动和关闭,使用起来像普通文件窗口一样流畅,让您在输入命令时心无旁骛,得心应手.试试雷神模式,一边看页面 ...
最新文章
- pg数据库生成随机时间_postgresql 时区与时间函数-阿里云开发者社区
- mysql pmm进程_mysql性能监控软件pmm
- c语言fsetpos是什么,fsetpos - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
- 居然之家:核心业务系统全面上云,采用PolarDB替代传统商业数据库
- Toad for Oracle 导入MIP.dmp文件时:报内存不足时的解决办法:
- 作者:赵晨(1980-),男,深圳般若计算机系统股份有限公司气象大数据应用负责人...
- 马化腾王健林一起逛街 买了一杯茉莉茶却忘了拿走
- wordpress functions.php 在哪,实用WordPress functions.php代码收藏 – 来自WordPress Answers
- 五道口服装市场关闭前 职业“甩货人”赚一笔
- 宝元系统通讯软件recon_企业即时通讯工具需注意哪些问题
- python爬虫怎么写多线程_Python爬虫4.1 — threading(多线程)用法教程
- 谷歌seo外链发布50+个网站平台分享(e6zzseo)
- 计算机专业顶级期刊,计算机领域顶级期刊
- 微信小程序-- WXS 脚本语言公测
- Opencv图像处理之平滑(Smoothing)模糊(Blurring)操作
- 流文件和媒体文件的不一样( flv和mp4,avi的区别)
- 硬件电路常用设计摘要
- Verilog HDL 基础
- go每日新闻--2020-12-23
- 日本Java18_死磕18个Java8日期处理,工作必用!
热门文章
- js动态显示时间和日期
- php有意思的小程序,这应该是迄今为止最全的小程序Top 100 榜单了,php中文网诚意奉上...
- 权力的游戏登录显示服务器上限,权力与纷争登录不上怎么办 登录不上解决方案...
- go语言mysql框架_开源轻量级数据库访问框架-Go语言中文社区
- 关于中职计算机专业,关于中职学校计算机专业改革探讨
- brpc访问MySQL_怎么使用Swoft 搭建微服务(TCP RPC)PHP中高级进阶
- 库ppt演示 python_用Python实现PPT转化图片
- 计算机房采用c02采灭火,[灭火器使用.doc
- 机器学习- 吴恩达Andrew Ng Week7 知识总结Support Vector Machines
- 命令查询职责分离模式 CQRS Command Query Responsibility Segregation