CentOS 5.6 下离线部署NodeJS环境和工程代码,并添加forever的开机自启动服务

#以CentOS 5.6为例 ip:192.168.32.220 user:root

#所需文件:

node-v0.10.24.tar.gz    #node环境源代码
node-ahctf.zip          #node工程代码压缩包
npmbox.npmbox           #npmbox的自动安装包 该包生成工具参考url:https://github.com/arei/npmbox
forever.npmbox          #forever的离线安装包
ahctf                   #forever开机自启动的服务脚本(下文已给出)

#《NodeJS 环境配置》

#升级CentOS 5.6的python由2.4.3至2.7.3 (解决node编译脚本的问题)

参考 http://viowan.blog.163.com/blog/static/137629793201321742518560/

#下载源码,你需要在http://nodejs.org/下载最新的Nodejs版本,本文以v0.10.24为例(版本大于等于v0.10即可):

$ssh root@192.168.32.220
cd /usr/local/src/
wget http://nodejs.org/dist/v0.10.24/node-v0.10.24.tar.gz   # 或者用命令scp本地上传到远程主机

#解压源码

tar zxvf node-v0.10.24.tar.gz

#编译安装

cd node-v0.10.24
./configure --prefix=/usr/local/node/0.10.24
make
make install

#配置NODE_HOME,进入profile编辑环境变量

vim /etc/profile

#设置nodejs环境变量,在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容,wq保存并退出:

#set for nodejs
export NODE_HOME=/usr/local/node/0.10.24
export PATH=$NODE_HOME/bin:$PATH

#编译/etc/profile 使配置生效

source /etc/profile

#验证是否安装配置成功,输出 v0.10.24 表示配置成功

node -v

#node安装完成后,npm模块安装路径为

/usr/local/node/0.10.24/lib/node_modules/

#《部署node工程代码》

#上传 node-ahctf 压缩包(李蒙已经传给你了)到 /web/ 目录下,解压在当前路径下,重命名为 node-ahctf-1.0.0 ,以192.168.32.220为例

mkdir /web/

$scp node-ahctf.zip root@192.168.32.220:/web/node-ahctf.zip

#解压到 /web/node-ahctf-1.0.0 目录下

cd /web/
unzip node-ahctf.zip -d node-ahctf-1.0.0

#查看查看工程代码完整性,指向下列指令后,访问该ip的3000端口,如 192.168.32.220:3000,若空白页面显示 "Cannot GET /",则代码可运行

cd node-ahctf-1.0.0
node index.js

#《设置node工程的开机自启动服务》

#离线配置npm包 forever

#上传npmbox工具包

$scp npmbox.npmbox root@192.168.32.220:/home/npmbox.npmbox

cd /home
tar -zxvf npmbox.npmbox
npm install --global --cache ./.npmbox.cache --optional --cache-min 99999 npmbox

$scp forever.npmbox root@192.168.32.220:/home/forever.npmbox

npmunbox -v -g forever.npmbox

#添加node工程的开机启动服务,添加 /web/node-ahctf-1.0.0/deployment/ahctf 脚本到文档 /etc/init.d/ 内

cp /web/node-ahctf-1.0.0/deployment/ahctf /etc/init.d/

#打开脚本文件 ahctf,并修改其中的 NODE 值为 "which node" 命令的输出值 (应该为 /usr/local/node/0.10.24/bin/node ) 并添加 forever的路径到 。。。

cd /etc/init.d/

which node #将输出值设置为ahctf中 NODE 的值

which forever #将输出值添加到ahctf中 PATH 的最后,注意加 : 号

vi ahctf

chmod +x ahctf

chkconfig --add ahctf

chkconfig --list

service ahctf start

#----now reboot to test----

#all over#

##《ahctf》的脚本内容

#!/bin/bash
#chkconfig:345 99 01
#description:ahctf
DIR='/web/node-ahctf-1.0.0'
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NODE_PATH='/web/node-ahctf-1.0.0/node_modules'
NODE=/usr/local/bin/node

test -x $NODE || exit 0
function start_app {
    forever start -l "$DIR/logs/ahctf.log" -o "$DIR/logs/ahctf.out.log" -e "$DIR/logs/ahctf.err.log" -a "$DIR/index.js"
}
function stop_app {
    forever stop "$DIR/index.js"
}


case $1 in
    start)
        start_app ;;
    stop)
        stop_app ;;
    restart)
        stop_app
        start_app
        ;;
    *)
    echo "usage: clearstonecc {start|stop}" ;;
esac
exit 0

转载于:https://my.oschina.net/coderman/blog/390299

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值