找回密码
 注册
查看: 4443|回复: 0

forever安装

[复制链接]

40

主题

29

回帖

471

积分

新手上路

积分
471
发表于 2017-6-20 16:02:13 | 显示全部楼层 |阅读模式
我们不可能直接通过node命令来管理远程站点,这样无法保证网站的可持续运行。我们用Forever来解决这个问题,它可以将NodeJS应用以后台守护进程的方式运行,我们还可以将NodeJS应用设成随系统启动而自动运行。
$ i  l) _4 g- W首先,安装Forever:4 {8 J" m. v9 q: c
复制代码 代码如下:
% q* ~" {( ?! N( E3 A$ x2 M. j% ?3 w8 C3 N, i
npm install forever -gd8 Y2 g1 r5 X, k9 H
. `2 \! Y& m' T$ f: d- o6 t2 r, T
这样Forever就安装好了,我们可以直接运行Forever命令:' V% d/ M% Y; X4 D
复制代码 代码如下:
! N( j% K8 e" S7 A
6 P4 f% u0 Q, rforever --help8 Q' J' N$ M. ]1 @
forever start app.js1 Y# B/ C/ m( [- D1 [* N: q. O0 Q
forever stop app.js" w( }" ]1 e% N& F9 P, s
% z% o1 o. I4 b0 \1 o0 B* R* P9 L
上面命令先查看Forever帮助文件,然后运行app.js,然后停止app.js。我们要让Forever自动运行,先在/etc/init.d目录创建一个文件node,内容如下:
1 ~, u1 B, s0 s/ s4 z; S' z6 G复制代码 代码如下:
8 r$ c' Q& V* [
: x+ @, |6 f2 g2 k6 Q& P% ?  w#!/bin/bash
& n# m3 y, ], _) l- D9 e#. d1 U6 X8 c4 Z
# node      Start up node server daemon
6 w2 Y$ ^0 @* i#
$ d& m$ x6 S& `7 h: E! d' g7 v# chkconfig: 345 85 15
2 c! U6 g4 q" l6 d. h6 D# description: Forever for Node.js
. Z& f( Z5 v4 D#
4 m3 Z( k  _, I4 l" N1 V3 _+ q# s, K2 qPATH=/home/node/0.8.9/bin3 L6 X4 G+ c! Y# A( p4 Q
DEAMON=/home/ftp/1520/weizt-20120918-tKx/weizt.com/app.js8 x4 j+ T6 o  j& ^+ C
LOG=/home/hosts_log, U; p9 P$ y9 G2 |
PID=/tmp/forever.pid1 _; X# y4 Q. A/ D
case "$1" in" a5 w8 o1 @8 }/ U1 U' e
    start), g, f% e! o# B2 _
        forever start -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $DEAMON
5 V6 G8 A% ]# z; W
2 i! M1 @8 [" p+ m: r+ J* M    stop)
5 Q" w" N7 Z2 G) f- e  i+ p1 Y1 c& O2 U$ L        forever stop --pidFile $PID $DEAMON
' c+ _8 ~: y! x5 c7 r; Q2 A! C4 D  H. k# N- r4 `4 t: i  J" ?
    stopall)# i$ H7 ?6 Q0 o3 B; H7 Y
        forever stopall --pidFile $PID
) n2 a$ o$ l$ H: E- S
( p% {2 {: Q9 c7 c4 D    restartall)! q# K7 H& X3 H. C
        forever restartall --pidFile $PID
" p& M5 P! W3 N) p! U" r6 l; {9 [8 o# V9 c  z0 n( Q, j
    reload|restart)
) v$ q& o. [0 Y  r        forever restart -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $DEAMON
" |& @1 b; L, |( ?' H1 a+ Y1 Q0 d) g6 C$ V: X
    list)) o1 \  T; f7 [
        forever list: `8 J7 ]4 H4 t

8 t# {/ S  w; p( {6 n( s    *)9 |. U# b# Z7 Q4 L9 V; d
        echo "Usage: /etc.init.d/node {start|stop|restart|reload|stopall|restartall|list}"9 M; m, |- `; `5 a
        exit 11 q& N# N6 w5 F; ?: |0 ]  O( G
  G5 ]2 C4 c0 W0 r) I1 R8 O% o
esac3 [  |' u  J% K- c+ u! H; t
exit 0* j; u  m; i6 ]" p
' H0 w3 {% D, \3 s
以上代码是我在本地虚拟机的配置,根据实际情况修改相关参数,主要是DEAMON的路径参数,赋予该文件可执行权限,并运行chkconfig添加自动运行:0 U$ T% M) v( u$ _# s
复制代码 代码如下:" e9 P8 R" s( _: g5 j. I+ f
4 d# U& g+ o# }# P* z' R: B* Q+ r7 j
chmod 755 /etc/init.d/node
; G3 U, v9 A- c7 p5 r( W0 hchkconfig /etc/init.d/node on
  C9 w9 F  Z9 n4 K) K8 B! q
* i! l8 V% g- e3 H" {+ d; Y; }/ [reboot重启系统,通过浏览器进入网站可发现,该NodeJS已经可自动运行了,剩下的工作,就是好好研究NodeJS、Express和AngularJS,做一个真正属于自己的应用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 01:55 , Processed in 0.018083 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表