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

forever安装

[复制链接]

40

主题

29

回帖

471

积分

新手上路

积分
471
发表于 2017-6-20 16:02:13 | 显示全部楼层 |阅读模式
我们不可能直接通过node命令来管理远程站点,这样无法保证网站的可持续运行。我们用Forever来解决这个问题,它可以将NodeJS应用以后台守护进程的方式运行,我们还可以将NodeJS应用设成随系统启动而自动运行。
) E; w# C0 _# u& _( j8 q首先,安装Forever:
/ ?$ `+ W# k- L复制代码 代码如下:
, _# U3 @) f$ w' B! J( F
- A9 H, @- w* h1 ^# p4 L' f, G8 unpm install forever -gd" L: c* w- d1 j. |3 u  g( {

; y# Z" S+ [1 e& o: [, U; v$ F这样Forever就安装好了,我们可以直接运行Forever命令:: v9 r# p. L4 G2 c
复制代码 代码如下:
. v0 H9 Y0 [9 g% N! I9 B& d9 m" p; Q7 x' c
forever --help
9 W$ z- L: C) u/ K7 ~$ S' G9 Cforever start app.js9 G. e0 X( ^% w! s
forever stop app.js% G2 N& I( H$ P0 M# f

! R4 w- e/ D& ~上面命令先查看Forever帮助文件,然后运行app.js,然后停止app.js。我们要让Forever自动运行,先在/etc/init.d目录创建一个文件node,内容如下:
, S2 K+ l+ L3 p" W- n! s9 o复制代码 代码如下:0 O, `' M0 h, s0 z
2 W2 d/ @/ k* p# W1 C
#!/bin/bash! c# Y% M, M2 u, S
#/ n) @+ b& c1 n! o* G) V
# node      Start up node server daemon9 q' o8 L8 M* n9 F8 |
#/ @" Q$ ]# `/ L* |9 O$ ?6 K
# chkconfig: 345 85 15; \. h+ o7 U$ k) u% m; ^
# description: Forever for Node.js3 L( r: d1 o, U+ T. q: {3 N1 K2 r
#
# \; P4 ?: i6 d) z4 y' `( e& A4 HPATH=/home/node/0.8.9/bin
0 P( [8 ]$ a6 L2 MDEAMON=/home/ftp/1520/weizt-20120918-tKx/weizt.com/app.js
! W4 J0 D9 n' E. R2 E0 J4 xLOG=/home/hosts_log
; o# s. U' O: t. C8 IPID=/tmp/forever.pid$ g8 N, X# h: D
case "$1" in; g) ^! D3 z; A' L9 R$ T, I3 l
    start)
3 o9 Z$ M! S" H  t  {) x# x        forever start -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $DEAMON
7 z1 K; L$ G+ E' n& [6 B2 x0 F
    stop)8 R' H2 E2 d# [8 T0 }7 ]
        forever stop --pidFile $PID $DEAMON  m- U4 w# j5 ^' X8 y2 q- E2 z; ?

9 u0 O3 c) o% Y' D. u1 Y/ R3 ~0 S9 ?/ p    stopall)8 h& p2 Q0 p1 c) M* J
        forever stopall --pidFile $PID& W. c6 r2 J7 x: P6 v$ ~

2 _7 h6 f9 A, |. i. s    restartall)
; X! Q' x. O( V& E7 |        forever restartall --pidFile $PID7 D; g8 P# U) I" Z

* R; }: Q! g9 K" d" J    reload|restart)
  i1 h- V2 c' w        forever restart -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $DEAMON
- t' G% }7 Q: R' A" G* e
3 x# O" ~" k% d# B# a    list)0 p/ V. f8 @) o4 c% @5 W" Y$ T
        forever list
. ~( m( f" X9 ]& l% f
: i5 m. f' r  q! z    *)
, c& ?4 V. r% g8 X) ]. G4 T        echo "Usage: /etc.init.d/node {start|stop|restart|reload|stopall|restartall|list}"
% V; U( H8 j4 ~. a9 c        exit 1: \" a2 R3 c' X; z! J! `
5 H2 k) c& t6 x" a# g
esac/ k* c5 |* u6 _6 i& z9 g: p7 D
exit 01 f1 e2 c  k+ _- f
8 _& z& z. e- Z- x' x- {- Z
以上代码是我在本地虚拟机的配置,根据实际情况修改相关参数,主要是DEAMON的路径参数,赋予该文件可执行权限,并运行chkconfig添加自动运行:
. m) L9 B; k. U, a: J( ^复制代码 代码如下:
8 A' t; o9 W. }) k8 C7 W# x/ D5 p
8 V+ H* L3 q2 n, ^! d6 wchmod 755 /etc/init.d/node* X  l2 J6 K& {. O+ q
chkconfig /etc/init.d/node on
* W3 N" A. N. O' I- d
5 [) Y8 l( W. Y5 W) R+ |reboot重启系统,通过浏览器进入网站可发现,该NodeJS已经可自动运行了,剩下的工作,就是好好研究NodeJS、Express和AngularJS,做一个真正属于自己的应用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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