forever 管理node服务
使用node
作为服务端搭建项目时就会遇到一个问题,启动服务是往往是在终端执行类似命令:
node ./app.js
当客户连接断开,服务也随之停止。
然后通过Ctrl + c
来关闭服务。
然而当终端不小心关闭以后,客户连接没有断开,想要关闭或重启服务就只能通过查找对应的端口进程pid
然后kill
掉。
lsof -i:[端口号]kill -9 [pid]
每次操作前都要确认一下是否为目标进程。
为了更方便的管理服务,我们可以引入forever
,除了可以更为便捷的执行启动、关闭、重启这些操作以外还可以支持热部署。日志记录输出等功能。
forever安装
npm install -g forever
命令解释
子命令actions:start:启动守护进程
stop:停止守护进程
stopall:停止所有的forever进程
restart:重启守护进程
restartall:重启所有的foever进程
list:列表显示forever进程
config:列出所有的用户配置项
set <key> <val>: 设置用户配置项
clear <key>: 清楚用户配置项
logs: 列出所有forever进程的日志
logs <script|index>: 显示最新的日志
columns add <col>: 自定义指标到forever list
columns rm <col>: 删除forever list的指标
columns set<cols>: 设置所有的指标到forever list
cleanlogs: 删除所有的forever历史日志配置参数options:
-m MAX: 运行指定脚本的次数
-l LOGFILE: 输出日志到LOGFILE
-o OUTFILE: 输出控制台信息到OUTFILE
-e ERRFILE: 输出控制台错误在ERRFILE
-p PATH: 根目录
-c COMMAND: 执行命令,默认是node
-a, –append: 合并日志
-f, –fifo: 流式日志输出
-n, –number: 日志打印行数
–pidFile: pid文件
–sourceDir: 源代码目录
–minUptime: 最小spinn更新时间(ms)
–spinSleepTime: 两次spin间隔时间
–colors: 控制台输出着色
–plain: –no-colors的别名,控制台输出无色
-d, –debug: debug模式
-v, –verbose: 打印详细输出
-s, –silent: 不打印日志和错误信息
-w, –watch: 监控文件改变
–watchDirectory: 监控顶级目录
–watchIgnore: 通过模式匹配忽略监控
-h, –help: 命令行帮助信息
基本命令
- 启动
forever start ./bin/www #最简单的启动方式
forever start -l forever.log ./bin/www #指定forever日志输出文件,默认路径~/.forever
forever start -l forever.log -a ./bin/www #需要注意,如果第一次启动带日志输出文件,以后启动都需要加上 -a 参数,forever默认不覆盖原文件
forever start -o out.log -e err.log ./bin/www #指定node.js应用的控制台输出文件和错误信息输出文件
forever start -w ./bin/www #监听当前目录下文件改动,如有改动,立刻重启应用,不推荐的做法!如有日志文件,日志文件是频繁更改的
- 重启
forever restart ./bin/www #重启单个应用
forever restart [pid] #根据pid重启单个应用
forever restartall #重启所有应用
- 停止
forever stop ./bin/www #停止单个应用
forever stop [pid] #根据pid停止单个应用
forever stopall #停止所有应用
- 查看forever守护的应用列表
forever list
forever 管理node服务相关推荐
- 使用pm2管理node服务
最近在做项目的时候有个需求,需要将nodeJS写的接口部署到服务器上,并且要求服务器重启后该node进程也会自动启动,我在搜索相关资料后选择了使用pm2进程管理工具. pm2管理工具相关优势: (1) ...
- 宝塔部署node项目_SFF一站式node服务管理平台实践
导语 本文阐述了基于Serverless搭建一站式node服务管理平台过程中,在开发框架.日志.监控.部署等方面遇到的问题及技术方案. 背景 Serverless是一种无服务器架构,它的弹性伸缩,按需 ...
- 使用 Docker 部署 Node 服务
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 前言 Docker 是一个开源的容器引擎.开发者可以将自己的应用以及依赖打包为一个可移植的容器,然后 ...
- 在线node服务器,如何将你的node服务放到线上服务器
最近在用node写后端数据处理,以前虽然也用node写数据来进行测试,但是一直都是处于本地使用, 今天想将node作为后端服务来处理数据, 特此,以此博客记录. 第一步,写node 接口, 在本地我们 ...
- nvm 管理 node 版本
写在前面的话 如果你使用 node 作为服务端语言,那么你可能会遇到 node 版本和开发版本不一致的问题,这时就需要一个工具,来根据开发情况来切换版本. 安装 nvm 访问 GitHub 中 点此跳 ...
- Nacos微服务注册发现、配置和管理微服务
目录 Nacos介绍 什么是 Nacos? Nacos 地图 Nacos 生态图 Nacos 概念 地域 可用区 接入点 命名空间 配置 配置管理 配置项 配置集 配置集 ID 配置分组 配置快照 服 ...
- 49学习容器管理平台 Docker Swarm 的基本概念和应用,包括节点管理、服务编排
Docker Swarm 是 Docker 官方提供的容器编排工具,可以管理多个 Docker 节点,并支持自动化扩展.负载均衡等功能.下面是 Docker Swarm 的基本概念和使用方法,包括节点 ...
- 涂抹mysql 完整_涂抹mysql笔记-管理mysql服务
$ /mysql/scripts/mysql_install_db --datadir=/mysql/data --basedir=/mysql support-files/mysql.server脚 ...
- mac 系统下nvm管理node安装遇到的问题
入职新公司架构与技术攻关组,压力超大.基于node.js架构公司基础前端框架,由于本人无知一下子把自己电脑(mac)中的node升级到6.x,但公司需要的node版本是5.x,所以要换回来,删除又麻烦 ...
最新文章
- python3 替换字符串中指定位置字符
- ASP.NET中新建MVC项目并连接SqlServer数据库实现增删改查
- IntelliJ IDEA16 热部署,解决每次修改java文件就得重启tomcat的问题
- python orm框架sqlalchemy_python ORM框架:SqlAlchemy
- 从工程文化和运维理念理解Netflix
- 使用Linux进行c或c++编程
- leetcode448-Find All Numbers Disappeared in an Array
- centos 7 菜鸟第一天 双启动
- tricks about and-or in python
- CSS-Box模型--理解与整理
- BZOJ 1003 [ZJOI2006]物流运输trans ★(Dijkstra + DP)
- 空字符串(“”)和null的区别
- 【Baby Maniacs】mmd动作+镜头下载
- 二阶无源低通滤波器幅频特性曲线_低通无源滤波器设计-详细
- kafka错误代码解释
- gpio引脚介绍 树莓派3b_树莓派4的GPIO接口介绍
- android root刷机包包,一加OnePlus 5T安卓9 root教程,用recovery来卡刷root包
- 高薪程序员面试题精讲系列28之你熟悉哪些设计模式?
- 关于案例式C语言上机指导与习题解答中实验4_15题的解答
- unexpected EOF while looking for matching ``'