TypechoJoeTheme

IT技术分享

统计

Forever让nodejs应用在后台执行

2016-08-06
/
0 评论
/
649 阅读
/
正在检测是否收录...
08/06

1、简介

forever可以看做是一个nodejs的守护进程,能够启动,停止,重启我们的app应用。

官方的说明是说: A simple CLI tool for ensuring that a given script runs continuously (i.e. forever). 即一个用来持续(或者说永远)运行一个给定脚本的简单的命令行工具

Github地址:https://github.com/nodejitsu/forever

2、用途

forever的用途就是帮我们更好的管理我们node App服务,本质上就是在forever进程之下,创建一个node app的子进程。

比如,你有一个基于express的或者其他的一些个应用那么,它将会很方便你更新和操作你的服务,并且保证你服务能持续运行。

更好的一点就是每次更改文件,它都可以帮你自动重启服务而不需要手动重启。

3、安装

  $ [sudo] npm install forever -g

【注】如果你使用 forever programmatically 你应该安装forever-monitor.

  $ cd /path/to/your/project
  $ [sudo] npm install forever-monitor

4、使用说明

1. 简单的启动

forever start app.js  

2. 指定forever输出文件

forever start -l forever.log app.js  

【注】:默认它会放到~/.forever/forever.log

3. 指定日志信息和错误日志输出文件,

forever start -o out.log -e err.log app.js  

【注】:-o 就是console.log输出的信息,-e 就是console.error输出的信息

4. 追加日志

forever start -l forever.log -a app.js  

【注】:forever默认不能覆盖上次的启动日志,所以如果第二次启动不加-a,则会不让运行

5. 监听当前文件夹下的所有文件改动

forever start -w app.js  

【注】:文件改动监听并自动重启,监听当前文件夹下的所有文件改动(不太建议这样)

6. 综合以上

forever start -l forever.log -o out.log -e err.log  -w -a app.js

7、显示所有运行的服务

forever list  

8、停止操作

forever stopall           //停止所有
forever stop app.js       // 停止其中一个node App  
forever stop [id]         // 当然还可以这样: forever list 找到对应的id,然后:  

9、重启操作

重启操作跟停止操作保持一致。

forever restartall  

5、配置文件

可以指定配置文件

.配置文件结构
├── forever
│   └── development.json
└── index.js

// 配置文件位置forever/development.json
{
    // Comments are supported
    "uid": "app",
    "append": true,
    "watch": true,
    "script": "index.js",
    "sourceDir": "/home/myuser/app"
}

1、启动方式

$ forever start ./forever/development.json

支持绝对路径

$ forever start /home/myuser/app/forever/development.json

2、多服务配置

[
  {
    // App1
    "uid": "app1",
    "append": true,
    "watch": true,
    "script": "index.js",
    "sourceDir": "/home/myuser/app1"
  },
  {
   // App2
    "uid": "app2",
    "append": true,
    "watch": true,
    "script": "index.js",
    "sourceDir": "/home/myuser/app2",
    "args": ["--port", "8081"]
    }
]
朗读
赞 · 0
版权属于:

IT技术分享

本文链接:

https://idunso.com/archives/2061/(转载时请注明本文出处及文章链接)