centos nodejs 部署forever

来源:互联网 发布:屏幕镜像软件 编辑:程序博客网 时间:2024/06/05 18:06

获取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 -g2.编写启动脚本:vim /etc/init.d/forever
#!/bin/bash# chkconfig: 345 88 08# description: Forever for Node.jsDEAMON=/var/nodewww/tawe/bin/wwwLOG=/var/nodewww/logs/forever.logPID=/root/.forever/pids/forever.pidexport PATH=$PATH:/root/.nvm/versions/node/v7.1.0/binexport NODE_PATH=$NODE_PATH:/root/.nvm/versions/node/v7.1.0/bin/node_modulesnode=/root/.nvm/versions/node/v7.1.0forever=/root/.nvm/versions/node/v7.1.0/bin/forevercase "$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/foreverchkconfig --add foreverchkconfig forever on建立测试文件vim /opt/nodejs/app.jsvar 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 startwarn:    --minUptime not set. Defaulting to: 1000mswarn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000msinfo:    Forever processing file: /opt/nodejs/app.js[root@sky ~]# netstat -napl |grep node


0 0
原创粉丝点击