linux下使用forever进行管理
何为forever:
forever可以看做是一个nodejs的守护进程,能够启动,停止,重启我们的app应用。
官方的说明是说:
A simple CLI tool for ensuring that a given script runs continuously (i.e. forever).
一个用来持续(或者说永远)运行一个给定脚本的简单的命令行工具
Github地址:https://github.com/nodejitsu/forever
forever用途:
forever的用途就是帮我们更好的管理我们node App服务,本质上就是在forever进程之下,创建一个node app的子进程。
比如,你有一个基于express的或者其他的一些个应用那么,它将会很方便你更新和操作你的服务,并且保证你服务能持续运行。
更好的一点就是每次更改文件,它都可以帮你自动重启服务而不需要手动重启。
安装forever
记得加-g,forever要求安装到全局环境下
# npm install forever -g
forever使用说明:
启动相关
1. 简单的启动
forever start app.js
2. 指定forever信息输出文件,当然,默认它会放到~/.forever/forever.log
或者通过 forever list 能查看到对应的日志。
forever start -l forever.log app.js
3. 指定app.js中的日志信息和错误日志输出文件,
-o 就是console.log输出的信息,-e 就是console.error输出的信息
forever start -o out.log -e err.log app.js
4. 追加日志,forever默认是不能覆盖上次的启动日志,
所以如果第二次启动不加-a,则会不让运行
forever start -l forever.log -a app.js
5. 监听当前文件夹下的所有文件改动(文件改动监听并自动重启)
forever start -w app.js
代码如下:
1. 监听当前文件夹下的所有文件改动(不太建议这样)
forever start -w app.js
显示所有运行的服务:
forever list
停止操作:
停止所有运行的node App
forever stopall
停止其中一个node App
forever stop app.js
当然还可以这样
forever list 找到对应的id,然后:
forever stop [id]
重启操作
重启操作跟停止操作保持一致
启动所有:
forever restartall
开发和线上建议配置
开发环境下
NODE_ENV=development forever start -l forever.log -e err.log -a app.js
线上环境下
NODE_ENV=production forever start -l ~/.forever/forever.log -e ~/.forever/err.log -w -a app.js
上面加上NODE_ENV为了让app.js辨认当前是什么环境用的。不加它可能就不知道哦?
一些注意点
有可能你需要使用unix下的crontab(定时任务)
这个时候需要注意配置好环境变量。
代码如下:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
linux下使用forever进行管理的更多相关文章
- linux下串口通信与管理
linux下的串口与windows有一些区别,下面将介绍一下linux下串口通信管理 查看是否支持USB串口: #lsmod | grep usbserial 如果没有信息:sudo apt-get ...
- Linux下用户和组管理
用户与组之间的关系是,组下面有若干个用户,每个用户必须从属于唯一一个组.组可以理解为权限的集合.用户管理的命令有:useradd, userdel, usermod, passwd, chsh, ch ...
- linux 下mysql服务的管理
一.mysql服务的管理 1.1 mysql启动与关闭 linux下启动mysql: /etc/init.d/mysqld start 关闭进程: ps -ef | grep mysql 找到进程号 ...
- linux下玩转磁盘管理与挂载硬盘
前言 本文将带来linux下的磁盘管理中的硬盘挂载,Linux操作系统挂载硬盘需要了解的一些知识.这可能是迄今为止介绍的最最最实用的linux硬盘挂载的文章了,比较详细.由于工作原因,平时使用的比较多 ...
- Linux下,使用Git管理 dotfiles(配置文件)
1.管理你的 dotfiles 作为一个计算机深度使用者,并且长期使用 Linux 作为主要操作系统,折腾各种功能强大的软件是常有的事儿.这些软件有它们各自的配置文件,通常以 . 开头,因此有人管它们 ...
- linux下用户以及用户组管理
/etc/passwd ‘/etc/passwd’ 由 ‘:’ 分割成7个字段,每个字段的具体含义是: 1)用户名.用户名字符可以是大小写字母.数字.减号(不能出现在首位).点以及下划线,其他字符不合 ...
- Linux下设备的基本管理
一.系统中磁盘的管理 1.本地存储设备的识别 fdisk -l ## 真实存在的设备(带*为启动分区) cat /proc/partition ## 系统识别的设备 blkid ...
- Linux下KVM虚拟机基本管理及常用命令(转)
说明:可能有重复 一.KVM的基本管理 1.查看KVM虚拟机配置文件 #Kvm虚拟机默认配置文件位置 [root@kvm qemu]# pwd /etc/libvirt/qemu [root@kvm ...
- Linux下的一个图形管理工具webmin
这个工具其实我在两年前的小白时期还是经常用的,因为那时候对Linux比较陌生在为数server的时候帮了我很多工作,现在周末外面下雨,闲来无事莫名其妙的想起他来. 工具优点:最大特点是他是脚本安装 不 ...
随机推荐
- github无法访问?试试修改hosts
github国内无法访问时,可以试试如下修改hosts,亲测有效: 204.232.175.78 http://documentcloud.github.com 207.97.227.239 http ...
- vuejs与服务器通信
vuejs与服务器通信 与服务器通信 Vue 实例的原始数据 $data 能直接用 JSON.stringify() 序列化.社区贡献了一个插件 vue-resource,提供一种容易的方式与 RES ...
- 25.按要求编写一个Java应用程序: (1)编写一个矩形类Rect,包含: 两个属性:矩形的宽width;矩形的高height。 两个构造方法: 1.一个带有两个参数的构造方法,用于将width和height属性初化; 2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。 两个方法: 求矩形面积的方法area() 求矩形周长的方法perimeter() (2)通过继承Rect类编写一个具有
package zhongqiuzuoye; //自己写的方法 public class Rect { public double width; public double height; Rect( ...
- 如何制作自己的yum源
在 /etc/yum.repos.d下创建一个以.repo结尾的文件如aaa.repo,其内容如下(一定要以repo结尾) [aaa] name=aaa baseurl=http://mirror ...
- SQL Server 2014新特性-原生备份加密
注:本篇文章是IT68找我的约稿,原文地址:http://tech.it168.com/a2014/0610/1633/000001633147.shtml SQL Server 2014 ...
- Cwinux源码解析系列
Cwinux源码解析系列
- (转)清理AIX的/var文件系统大小
在ROOTVG空间有限,且/var文件系统的空间已经足够大的情况下,/var文件系统空间快满了,这种情况怎么处理?IBM给了一个很好的处理流程: 使用find 命令检查在/var目录中所有大于1MB的 ...
- IOS开发-KVO
一.什么是kvo? key-value observing,观察者模式 观察者,观察对象属性的变化,当被观察者该属性发生变化时,观察者会接收到通知,可以在回调函数中做相应的处理 二.有什么作用? 变化 ...
- Django快速开发之投票系统
https://docs.djangoproject.com/en/1.8/intro/tutorial01/ 参考官网文档,创建投票系统. ================ Windows 7/1 ...
- js每天进步一点点4
输入数字的验证