Nodejs服务器管理模块forever

Nodejs服务器管理模块forever

alt Nodejs服务器管理模块forever

前言:

又说到服务器管理了,上次说的时候用的是Linux系统服务upstart, 今天准备尝试一下Nodejs自己模块化解决方案forever。

服务器管理是系统上线后,必须要面对的问题。最好有一个软件可以提供整套的服务器运行解决方案:要求运行稳定,支持高并发,启动/停止命令简单,支持热部署,宕机重启,监控界面和日志,集群环境。

接下来,就让我们看看forever能不能实现目标。

文章目录:

  • forever介绍
  • forever安装
  • forever命令行的中文解释
  • forever服务器管理
  • forever在Ubuntu进行服务器管理
  • 模拟服务器宕机
  • 开发环境和生产环境的启动配置

请查看博客文章

http://blog.fens.me/nodejs-server-forever/


10 回复

Nodejs服务器管理模块forever

前言:

又说到服务器管理了,上次讨论时我们使用了Linux系统服务Upstart,今天我们尝试一下Node.js自带的模块化解决方案——forever。服务器管理是系统上线后必须面对的问题,理想中的服务器管理工具应该具备以下特点:运行稳定、支持高并发、启动/停止命令简单、支持热部署、宕机自动重启、具备监控界面和日志记录功能,以及在集群环境中表现出色。

接下来,我们就来探讨一下forever是否能够满足这些需求。

文章目录:

  • forever介绍
  • forever安装
  • forever命令行的中文解释
  • forever服务器管理
  • forever在Ubuntu上的使用
  • 模拟服务器宕机
  • 开发环境与生产环境的启动配置

forever介绍

forever是一个用于确保Node.js应用在服务器上持续运行的工具。它通过不断地检查和重启应用程序,保证即使应用程序崩溃也能迅速恢复。此外,forever还提供了丰富的命令行选项,使得管理和监控Node.js应用变得非常方便。

forever安装

首先,你需要全局安装forever模块。可以通过npm(Node包管理器)来完成:

npm install -g forever

forever命令行的中文解释

安装完成后,你可以使用以下命令来管理你的Node.js应用:

  • 启动应用:
    forever start app.js
    
  • 查看所有正在运行的应用:
    forever list
    
  • 停止应用:
    forever stop app.js
    
  • 重新启动应用:
    forever restart app.js
    

forever服务器管理

使用forever来管理Node.js应用非常直观。例如,如果你有一个简单的HTTP服务器脚本app.js,你只需要运行:

forever start app.js

这样,即使应用崩溃或服务器重启,forever也会自动重启你的应用。

forever在Ubuntu上的使用

假设你在Ubuntu上部署了一个Node.js应用,并希望使用forever来管理它。首先,确保已经安装了forever。然后,你可以将你的Node.js应用配置为一个服务,以便更容易地管理:

sudo forever start /path/to/app.js

模拟服务器宕机

为了测试forever的自动重启功能,你可以手动停止应用或模拟一个错误导致应用崩溃。例如,你可以修改app.js使其抛出一个异常:

throw new Error("Simulated error");

保存文件后,forever会检测到应用崩溃并自动重启它。

开发环境与生产环境的启动配置

在不同的环境中,可能需要不同的启动参数。例如,在开发环境中,你可能希望启用调试模式,而在生产环境中,则希望最大化性能。可以通过设置环境变量来区分这两种情况:

# 开发环境
DEBUG=true forever start app.js

# 生产环境
NODE_ENV=production forever start app.js

希望这些信息能帮助你更好地理解和使用forever模块来管理你的Node.js应用。


good 我也在使用forever~

博主每天都在发帖子啊,赞

"我们发现forever的程序,工作不对了!!程序明明是运行状态,通过list确看不到。接下来,切换成Linux Ubuntu继续测试。" 这是什么情况呢~?

请问楼主的forever在linux下能通过test?

forever已经小半年停止维护了,issues里面关于0.10.x的问题已经堆了一大票,连个回答问题的都没有。。。。

还是PM2好一些,呵呵

forever在win环境里,会有各种的bug

在linux可以正常运行,-w有点小问题,其他的命令运行正常。

确实已经有段时间没有维护了!

我也是这么认为的,后面准备搞搞PM2。

不过要想知道PM2好在哪里,要用upstart, forever做个对比,所以先写了这篇文章。

Node.js服务器管理模块forever

前言:

服务器管理对于一个上线后的系统来说至关重要。之前我们探讨过使用Linux系统服务upstart来管理Node.js应用,今天我们将转向使用Node.js自身的模块化解决方案——forever

forever模块能够帮助我们确保应用稳定运行,并且支持一些高级功能,如高并发支持、简单的启动/停止命令、热部署、自动重启等。接下来我们将详细介绍如何使用forever来管理Node.js服务器。

forever介绍

forever是一个用于保证Node.js应用程序在服务器上持续运行的工具。它会监测你的应用是否崩溃,如果发现应用已经崩溃,forever会自动重新启动应用。

forever安装

首先,你需要通过npm安装forever模块:

npm install -g forever

安装完成后,你可以使用forever命令来管理你的Node.js应用。

forever命令行的中文解释

  • forever start app.js:启动应用。
  • forever stop app.js:停止应用。
  • forever restart app.js:重启应用。
  • forever list:列出所有被forever管理的应用。
  • forever logs:查看应用的日志。
  • forever cleanlogs -a:清除所有应用的日志。

forever服务器管理

以一个简单的Node.js应用为例,假设我们的应用只有一个文件app.js

// app.js
const http = require('http');

http.createServer((req, res) => {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(3000);
console.log('Server running at http://localhost:3000/');

使用forever来管理这个应用:

forever start app.js

如果你需要查看应用的状态或日志:

forever list
forever logs

forever在Ubuntu进行服务器管理

在Ubuntu中安装和使用forever的步骤与上述相同。你还可以考虑将forever设置为开机自启,可以通过创建systemd服务来实现:

sudo nano /etc/systemd/system/my-app.service

添加以下内容:

[Unit]
Description=My Node.js Application

[Service]
ExecStart=/usr/local/bin/forever start /path/to/app.js
Restart=always
User=node_user
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/path/to/app

[Install]
WantedBy=multi-user.target

然后启用并启动该服务:

sudo systemctl enable my-app.service
sudo systemctl start my-app.service

模拟服务器宕机

为了测试forever的功能,可以手动杀死进程或停止服务。例如:

ps aux | grep node
kill <PID>

或者直接使用forever命令:

forever stop app.js

开发环境和生产环境的启动配置

在不同的环境中,你可能需要不同的配置选项。例如,在开发环境中,你可能希望使用--watch参数来监听文件变化,而在生产环境中,你则可能希望使用--max-old-space-size参数来限制内存使用量。

开发环境启动命令:

forever start --watch app.js

生产环境启动命令:

forever start --max-old-space-size=512 app.js

以上就是使用forever管理Node.js服务器的基本指南。希望这些信息对你有所帮助!

回到顶部