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

forever安装

[复制链接]

40

主题

29

回帖

471

积分

新手上路

积分
471
发表于 2017-6-20 16:02:13 | 显示全部楼层 |阅读模式
我们不可能直接通过node命令来管理远程站点,这样无法保证网站的可持续运行。我们用Forever来解决这个问题,它可以将NodeJS应用以后台守护进程的方式运行,我们还可以将NodeJS应用设成随系统启动而自动运行。
$ q: b0 g# J: K1 [5 G首先,安装Forever:" L# }0 Y0 h0 o% C% ~" s' x7 E
复制代码 代码如下:& T1 \; a5 M: ]4 d$ y

% b. n+ s$ ^8 J8 x' H( g3 a2 _npm install forever -gd4 {) Y( y' S0 @8 F

* f5 i, r9 j0 e) M% M( f$ \这样Forever就安装好了,我们可以直接运行Forever命令:
# Z$ y8 \, k7 V" j! C复制代码 代码如下:
# c0 W+ b2 Y3 l; j! q& F5 ^$ P
- A; k8 C7 [( x$ x, _forever --help
, i$ q3 s# p+ V+ b& o; t4 \forever start app.js
& u8 ~6 |$ o" B- d8 W9 ?forever stop app.js
( D3 i* W$ H; b( i- g# n- J; e0 k# D: A) W' @% j' v; j7 Q; h9 f
上面命令先查看Forever帮助文件,然后运行app.js,然后停止app.js。我们要让Forever自动运行,先在/etc/init.d目录创建一个文件node,内容如下:1 J/ B2 o, M% R5 S  }
复制代码 代码如下:( P( m  }" |9 B* f+ H

2 F) @% `4 A) O% O9 K+ P#!/bin/bash! e' D. G2 Y# h+ O5 F1 Q
#
' S" z/ a  a5 D0 |+ w9 q1 b# node      Start up node server daemon
8 g+ k5 z, ?, g# G: X#$ R1 ]# I7 C7 m1 Z1 q* @
# chkconfig: 345 85 15- r: T# O2 _# D" V- d
# description: Forever for Node.js
  r3 j4 [9 e1 W1 Q5 o) y#7 j/ i  I  A& E1 H
PATH=/home/node/0.8.9/bin
- d$ t; @+ \! Z  y5 nDEAMON=/home/ftp/1520/weizt-20120918-tKx/weizt.com/app.js
2 o0 h% d0 L$ ]8 J# u4 VLOG=/home/hosts_log7 M, \! l  B9 f$ `
PID=/tmp/forever.pid3 h8 g/ p  Y( w. K: n4 m
case "$1" in
' m/ f% d" P8 ]0 ~: f    start): M( A  ?' H3 F/ l2 ]7 o8 K: _& ^* ?
        forever start -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $DEAMON; z" ~- }" ~' O9 [

& D! ?% r$ k4 `    stop)
( S8 @6 ?; a6 N        forever stop --pidFile $PID $DEAMON
9 M" v# i5 f, f( Z1 o% E- P( d  h  |
0 B  d/ P* ^( Z. A5 }    stopall)7 Z- s' }% s& }& E5 \# B# f
        forever stopall --pidFile $PID: z" T& T5 C& z) f% N2 J  F
2 q( a3 z+ s3 d# x
    restartall)& G/ O( n5 h! g% G5 U: |6 H
        forever restartall --pidFile $PID
' W( ~. I! t- Z9 P* ?+ M4 x
. R% ]4 H( q3 K7 V9 S, }    reload|restart)
' ]! h: \/ w' r# ~  M6 X  W        forever restart -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $DEAMON  Y/ B2 R4 i4 d- }/ A& s

5 s4 D2 m5 C! R! M    list)) ]' [6 @+ e: b: ~; k
        forever list: W8 ?" L) \7 Z  Z+ c: {+ ], ^
! Q  m. ~$ ^& D7 a( D6 G, v
    *)
3 \4 e2 o. |! @        echo "Usage: /etc.init.d/node {start|stop|restart|reload|stopall|restartall|list}"+ |: O  h0 D  i) o/ X
        exit 1
- s- X' |$ C+ j8 x% b( z% S7 Q- Y5 L5 D; q9 d" f( O3 u& B3 C
esac  i6 w- Y% B& x" ?. R+ e
exit 0& Q* o6 q, a+ h3 F4 z' H0 `

% t$ Z" k' y0 y8 X4 }2 @  r/ C以上代码是我在本地虚拟机的配置,根据实际情况修改相关参数,主要是DEAMON的路径参数,赋予该文件可执行权限,并运行chkconfig添加自动运行:+ l  E7 a9 w; M3 P* U% ^
复制代码 代码如下:# X) W& Z0 h* y  T' V

0 i: J) A0 u6 `0 _$ {chmod 755 /etc/init.d/node
3 _; f5 f" ~' `& i7 V) cchkconfig /etc/init.d/node on2 R1 y7 O- P4 Y, P, w* j
9 E0 v- L4 l% o1 p5 }# W
reboot重启系统,通过浏览器进入网站可发现,该NodeJS已经可自动运行了,剩下的工作,就是好好研究NodeJS、Express和AngularJS,做一个真正属于自己的应用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 03:03 , Processed in 0.018697 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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