Node.js 环境搭建
node.js
一、Node.js 简介
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Node.js 的包管理器 npm,是全球最大的开源库生态系统。
Node.js你需要知道
你应该了解一些基本的计算机编程术语。如果你学习过Javascript,PHP,Java等编程语言,将有助于你更快的了解Node.js编程。 如果你是一个前端程序员,你不懂得像PHP、Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常好的选择。 Node.js 是运行在服务端的 JavaScript,如果你熟悉Javascript,那么你将会很容易的学会Node.js。 当然,如果你是后端程序员,想部署一些高性能的服务,那么学习Node.js也是一个非常好的选择。 提示:nodejs 只是需要运维部署,它相当于一个容器,类似于JDK环境一样
Nodejs官网:https://nodejs.org
Nodejs中文网:http://nodejs.cn/
二、Node.js 安装
1.下载安装包
$ wget http://down.abcdocker.com/node/node-v8.9.2-linux-x64.tar.xz
$ xz -d node-v8.9.2-linux-x64.tar.xz
$ tar xf node-v8.9.2-linux-x64.tar -C /usr/local/
$ ln -s /usr/local/node-v8.9.2-linux-x64 /usr/local/node
2.配置环境变量
$ echo "export PATH=$PATH:/usr/local/node/bin" >>/etc/profile
$ . /etc/profile && source /etc/profile
3.检查是否安装成功
$ node -v
v8.9.2
温馨提示: 建议使用二进制包,不使用源码包,因为编译会有很多依赖的问题
三、配置Node.js
因为npm是国外的镜像站,我们下载东西会比较慢,这里我们安装阿里云国内的镜像,同步频率为10分钟一次
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
或者你直接通过添加 npm
参数 alias
一个新命令:
alias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"
# Or alias it in .bashrc or .zshrc
$ echo '\n#alias for cnpm\nalias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"' >> ~/.zshrc && source ~/.zshrc
安装模块
从 registry.npm.taobao.org 安装所有模块. 当安装的时候发现安装的模块还没有同步过来, 淘宝 NPM 会自动在后台进行同步, 并且会让你从官方 NPM registry.npmjs.org 进行安装. 下次你再安装这个模块的时候, 就会直接从 淘宝 NPM 安装了.
$ cnpm install [name]
同步模块
直接通过sync
命令马上同步一个模块, 只有cnpm
命令行才有此功能
$ cnpm sync connect
当然, 你可以直接通过 web 方式来同步: /sync/connect
$ open https://npm.taobao.org/sync/connect
其它命令
支持 npm
除了 publish
之外的所有命令, 如:
$ cnpm info connect
四、淘宝 NPM 镜像
- 当前 registry.npm.taobao.org 是从 r.cnpmjs.org 进行全量同步的.
- 当前 npm.taobao.org 运行版本是: cnpmjs.org@3.0.0-alpha.15
- 本系统运行在 Node.js@v8.9.0 上.
- 开源镜像: http://npm.taobao.org/mirrors
- Node.js 镜像: http://npm.taobao.org/mirrors/node
- alinode 镜像: http://npm.taobao.org/mirrors/alinode
- phantomjs 镜像: http://npm.taobao.org/mirrors/phantomjs
- ChromeDriver 镜像: http://npm.taobao.org/mirrors/chromedriver
- OperaDriver 镜像: http://npm.taobao.org/mirrors/operadriver
- Selenium 镜像: http://npm.taobao.org/mirrors/selenium
- Node.js 文档镜像:http://npm.taobao.org/mirrors/node/latest/docs/api/index.html
- NPM 镜像: https://npm.taobao.org/mirrors/npm/
- electron 镜像: https://npm.taobao.org/mirrors/electron/
- node-inspector 镜像: https://npm.taobao.org/mirrors/node-inspector/
五、案例
Node环境主要是用于前端环境,例如移动官网(手机打开百度的页面)。这里我们给大家演示一下
1.首先我们要在svn把代码拉去下来,因为node环境主要是的文件就是package.json,没有这个文件是没法进行构建的
2.执行cnpm install
或者npm
进行构建
3.执行npm run build
进行打包
成功的结果如下:(只要没有error就可以)
3.执行npm run start &
我们要执行& 后台运行
结果:我们这个项目用的是最新的,以前的只需要静态文件即可,我也不太清楚为啥这次的node环境需要在我这里启动,以上的步骤我们可以写个脚本。
[root@online-server2 m]# cat /etc/init.d/mobile
#!/bin/bash
# chkconfig: 2345 77 47
# description: Tomcat is a Java Servlet Container
. /etc/init.d/functions
. /etc/profile
TOMCAT_HOME=/application/node/m
start () {
/usr/local/node/bin/npm run start &
echo "$0 is running"
}
stop () {
TOMCAT_PID=`ps -ef |grep "$TOMCAT_HOME" |grep -v "grep" |awk '{print $2}'`
if [ -z $TOMCAT_PID ];then
echo "$0 is not running"
else
echo "shutting down $0"
kill -9 "$TOMCAT_PID" && echo "PID $TOMCAT_PID killed."
fi
}
status () {
TOMCAT_PID=`ps -ef |grep "$TOMCAT_HOME" |grep -v "grep" |awk '{print $2}'`
if [ -z $TOMCAT_PID ];then
echo "$0 is not running"
else
echo "$0 is running PID is $TOMCAT_PID"
fi
}
case $1 in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo "Usage:$0 {start|stop|status|restart}."
;;
esac