forever守护nodejs进程

2017-03-20 17:33:55

客户端启动Node.js应用:

node app.js  # 方法一
npm start    # 方法二 Express框架

这样可以正常启动应用,但是如果断开客户端连接,应用也就随之停止了。也就是说这样的启动方式没有给应用一个守护线程。

 

Forever可以解决这个问题!Forever可以守护Node.js应用,客户端断开的情况下,应用也能正常工作。

安装过Node.js后再安装forever,需要加-g参数,因为forever要求安装到全局环境下:

[sudo] npm install forever -g

 

forever使用:

复制代码

# 启动
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


  • 2019-09-28 00:03:21

    shiro的session共享,持久化

     shiro的session创建与session的查询、更新、过期、删除中,shiro对session的操作基本都讲到了,但还缺一个session共享没有讲解;session共享的原理其实在自定义session管理一文已经讲过了,本文不讲原理,只看看shiro的session共享的实现。

  • 2019-09-28 08:00:30

    Java.io.tmpdir介绍

    System.getproperty(“java.io.tmpdir”)是获取操作系统缓存的临时目录,不同操作系统的缓存临时目录不一样,

  • 2019-09-28 08:36:43

    Ehcache配置持久化到硬盘,只存储到硬盘

    Ehcache默认配置的话 为了提高效率,所以有一部分缓存是在内存中,然后达到配置的内存对象总量,则才根据策略持久化到硬盘中,这里是有一个问题的,假如系统突然中断运行 那内存中的那些缓存,直接被释放掉了,不能持久化到硬盘;这种数据丢失,对于一般项目是不会有影响的,但是对于我们的爬虫系统,我们是用来判断重复Url的,所以数据不能丢失;

  • 2019-09-28 09:33:18

    put与putIfAbsent区别

    put在放入数据时,如果放入数据的key已经存在与Map中,最后放入的数据会覆盖之前存在的数据, 而putIfAbsent在放入数据时,如果存在重复的key,那么putIfAbsent不会放入值。