centos nodejs 部署forever

本文详细介绍了如何使用nvm进行Node.js环境的搭建与管理,并提供了通过nvm安装不同版本Node.js的方法。此外,还讲解了Express框架的安装与使用流程,包括创建Express项目、启动项目及Forever部署等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

获取nvm源码

1、直接从 github 找到最新版本通过wget下载到本地wget https://github.com/cnpm/nvm/archive/v0.23.0.tar.gz,

2、或者直接克隆到本地通过git clone https://github.com/cnpm/nvm.git




安装nvm

1、安装nvm非常简单,只要解压后进入目录然后执行。./install.sh然后source ~/.bash_profile。

2、也可以手动配置终端启动时自动执行 source /opt/wget/nvm-0.23.0/nvm.sh, 在 ~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc 文件添加命令:

重新打开你的终端, 输入 nvm。



通过nvm安装管理nodejs

1、列出所有可安装的版本nvm list-remote;

2、安装相应的版本使用nvm install v0.12.4;还可以直接安装 iojs 各个版本;

3、查看一下你当前已经安装的版本:nvm ls;

4、切换版本;nvm use v0.12.4;

5、设置默认版本 nvm alias default v0.12.4

注意:具体操作很简单,使用帮助通过nvm help;









安装express

1、安装express,使用npm install express -g全局安装,不能通过 express -e nodejs-001创建项目会提示“bash: express: 未找到命令...”

2、安装express时增加generator参数:npm install -g express-generator才可以,express 已经把命令行工具分离出来了;

原因:原先的express带cli, 现在把cli拆成了单独的express-generator包. 原先的express运行生成的项目是 node app.js, 因为httpserver相关代码都在app.js里, 现在这部分代码移到了项目目录的bin/www下面, app.js 只保留实现app的逻辑代码, 你需要去运行那个bin/www。 只是很单纯的细化应用和包依赖的版本变更。



建立express工程,启动项目

1、创建工程express -e nodejs-001;

2、创建工程时候会提示需要安装依赖 cd nodejs-001 && npm install;

3、启动项目npm start,通过浏览器访问http://localhost:3000/;这里需要注意 express 4.x 无法以 node app.js 为启动方式,而是用指令 npm start 作为启动;





forever 部署


1.首先下载forever

https://github.com/foreverjs/forever

安装forever:

npm install forever -g
2.编写启动脚本:
vim /etc/init.d/forever

#!/bin/bash
# chkconfig: 345 88 08
# description: Forever for Node.js


DEAMON=/var/nodewww/tawe/bin/www
LOG=/var/nodewww/logs/forever.log
PID=/root/.forever/pids/forever.pid


export PATH=$PATH:/root/.nvm/versions/node/v7.1.0/bin
export NODE_PATH=$NODE_PATH:/root/.nvm/versions/node/v7.1.0/bin/node_modules


node=/root/.nvm/versions/node/v7.1.0
forever=/root/.nvm/versions/node/v7.1.0/bin/forever


case "$1" in
    start)
        $forever start -l $LOG --pidFile $PID -a $DEAMON
        ;;
    stop)
        $forever stop --pidFile $PID $DEAMON
        ;;
    stopall)
        $forever stopall --pidFile $PID
        ;;
    restartall)
        $forever restartall --pidFile $PID
        ;;
    reload|restart)
        $forever restart -l $LOG --pidFile $PID -a $DEAMON
        ;;
    list)
        $forever list
        ;;
    *)
        echo "Usage: /etc.init.d/node {start|stop|restart|reload|stopall|restartall|list}"
        exit 1
        ;;
esac


##########################
给脚本执行权限
chmod 755 /etc/init.d/forever
chkconfig --add forever
chkconfig forever on
建立测试文件
vim /opt/nodejs/app.js
var http = require("http");
http.createServer(function(request, response) {
    response.writeHead(200, {
        "Content-Type" : "text/plain" // 输出类型
    });
    response.write("Hello World");// 页面输出
    response.end();
}).listen(8100); // 监听端口号
console.log("nodejs start listen 8102 port!");
启动测试:
service forever start
[root@sky ~]# service forever start
warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info:    Forever processing file: /opt/nodejs/app.js
[root@sky ~]# netstat -napl |grep node


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值