node.js部署到服务器之后台守护进程管理器forever

wrpuser      2022-02-17     648

关键词:

我们不可能直接通过node命令来管理远程站点,这样无法保证网站的可持续运行。我们用Forever来解决这个问题,它可以将NodeJS应用以后台守护进程的方式运行,我们还可以将NodeJS应用设成随系统启动而自动运行。

首先,安装Forever:

npm install forever -gd

这样Forever就安装好了,我们可以直接运行Forever命令:

forever --help
forever start app.js
forever stop app.js

上面命令先查看Forever帮助文件,然后运行app.js,然后停止app.js。我们要让Forever自动运行,先在/etc/init.d目录创建一个文件node,内容如下:

#!/bin/bash
#
# node      Start up node server daemon
#
# chkconfig: 345 85 15
# description: Forever for Node.js
#
PATH=/home/node/0.8.9/bin
DEAMON=/home/ftp/1520/weizt-20120918-tKx/weizt.com/app.js
LOG=/home/hosts_log
PID=/tmp/forever.pid
case "$1" in
    start)
        forever start -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $DEAMON

    stop)
        forever stop --pidFile $PID $DEAMON

    stopall)
        forever stopall --pidFile $PID

    restartall)
        forever restartall --pidFile $PID

    reload|restart)
        forever restart -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $DEAMON

    list)
        forever list

    *)
        echo "Usage: /etc.init.d/node {start|stop|restart|reload|stopall|restartall|list}"
        exit 1

esac
exit 0

以上代码是我在本地虚拟机的配置,根据实际情况修改相关参数,主要是DEAMON的路径参数,赋予该文件可执行权限,并运行chkconfig添加自动运行:

chmod 755 /etc/init.d/node
chkconfig /etc/init.d/node on

reboot重启系统,通过浏览器进入网站可发现,该NodeJS已经可自动运行了,剩下的工作,就是好好研究NodeJS、Express和AngularJS,做一个真正属于自己的应用!

 

node.js项目通过pm2以守护进程方式运行(代码片段)

引入我们在Linux系统上部署了一个node.js写的web项目,通过nodeapp.js启动程序。但是当该会话被关闭后,该node.js项目就无法被访问了,那么该如何在会话关闭后项目也能一直被外界访问呢?这就需要用到守护进程ÿ... 查看详情

nodejs如何部署到服务器上?

跟你在本地开发是相同的。1、安装指定版本的node.js(服务器基本软件的安装)2、上传代码到服务器(可以通过ftp、ssh、git等方式)3、安装项目依赖的模块> npm install4、启动应用(也可以通过forever、pm2等工具进行管理... 查看详情

node.js进程管理之process模块

...机制也有提到,Node.js应用在单个线程运行,但是现在大部分服务器都是多处理器,为了方便使用多个进程,Node.js提供了3个模块。Process模块提供了访问正在运行的进程。child_process模块可以创建子进程,并与他们通信。cluster模块提供... 查看详情

使用pm2来守护nodercms

...NoderCMS主要特性内建负载均衡(使用Nodecluster集群模块)后台运行0秒停机重载具有Ubuntu和CentOS的启动脚本停止不稳定的进程(避免无限循环)控制台检测提供HTTPAPI远程控制和实时的接口API 查看详情

如何将 node.js 服务器作为守护进程启动?

】如何将node.js服务器作为守护进程启动?【英文标题】:Howdoesonestartanode.jsserverasadaemonprocess?【发布时间】:2011-06-2116:10:15【问题描述】:在PythonTwisted中,您可以使用twistd命令帮助您处理与运行应用程序相关的许多事情(例如,... 查看详情

node.js后台启动forever(永恒)简单用法

参考技术Assh链接云服务器,启动nodeindex.js,这种方法,会在你退出终端就停止了。所以我们需要用forever来帮助我们开启后台守护进程。forever(永恒)单词意思有诗意😊用forever能处理更多的事情,比如宕机重启,热部署,日志... 查看详情

linux之xinetd服务介绍

...emon,是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务。Xinetd 查看详情

systemctl命令完全指南

...集中管理和配置类UNIX系统。在Linux生态系统中,Systemd被部署到了大多数的标准Linux发行版中,只有为数不多的几个发行版尚未部署。Systemd通常是所有其它守护进程的父进程,但并非总是 查看详情

systemctl命令完全指南

...集中管理和配置类UNIX系统。在Linux生态系统中,Systemd被部署到了大多数的标准Linux发行版中,只有为数不多的几个发行版尚未部署。Systemd通常是所有其它守护进程的父进程,但并非总是 查看详情

守护进程(代码片段)

...该影响先前在该终端启动的任何守护进程的运行。虽然让服务器后台运行很容易(只要shell命令行以&结尾即可),但用户还应该做些工作,让程序本身能够自动进入后台,且不依赖于任何终端。守护进程没有控制终端,因此当某... 查看详情

linux进程通信之守护进程(代码片段)

守护进程(Daemon)Daemon(精灵)进程,是linux中的后台服务进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的时间。一般采用以d结尾的名字。从下面的进程信息可以看出,守护进程都是【?】。colord116... 查看详情

进程管理工具之supervisor(代码片段)

  在Linux服务器中,有时候我们需要一个进程需要可靠的在后台运行,并且能够监控进程状态,在意外结束时能够自动重启等。此时就可以使用supervisor。  supervisor是使用Python开发的一套通用的进程管理程序,能够将一个普... 查看详情

物联网nodejs-5天学习第四天存储篇⑤——pm2,node.js应用进程管理器(代码片段)

...️电子物联网专业同学,想针对硬件功能构造简单的服务器,不需要学习专业的服务器开发知识❤️❤️业余爱好物联网开发者,有简单技术基础,想针对硬件功能构造简单的服务器❤️❤️本篇创建记录2023-03-12... 查看详情

云原生之使用docker部署onenav个人书签管理器(代码片段)

云原生之使用Docker部署OneNav个人书签管理器一、OneNav介绍1.OneNav简介2.OneNav特点二、检查本地docker环境1.检查docker版本2.检查docker状态三、下载onenav镜像四、部署OneNav应用1.创建数据目录2.创建OneNav容器3.查看OneNav容器状态五、访问O... 查看详情

自动重启崩溃的 Linux 守护进程 [关闭]

...发布时间】:2014-01-0510:51:45【问题描述】:我有一个Linux服务器应用程序,我设法将它“部署”为一个守护程序,它可以在机器启动时自动启动,与用户会话无关..我想知道是否可以告诉系统在应用程序崩溃时自动重启应用程序... 查看详情

python守护进程

参考技术A一、守护进程的特性守护进程是一个在后台运行并且不受任何终端控制的进程(守护进程独立于所有终端,之所以脱离于终端是为了避免进程被任何终端所产生的信息所打断,其在执行过程中的信息也不在任何终端上... 查看详情

python[python中的虚拟守护进程]一个虚拟守护进程,除了睡眠之外什么都不做,对于测试systemd和其他服务管理器非常有用#python#daemon(代码片段)

查看详情

windowsserver2016之rds部署之添加rd网关

...,我们不但的完善;在这里还是一样,我们需要准备一台服务器来做RD网关服务器;加入域中并且添加到RDCB服务器的“服务器管理器-所有服务器”中。如下添加方式:右击“服务器管理器”中的“所有服务器”-“添加服务器”... 查看详情