Nodejs运行环境规范

版本/运行环境


1.node版本:v4.4.1
2.操作系统 CentOS 6.4

部署路径


Node: /data/node
解压`node-server.zip`和`resources.zip`到该目录下

相关命令参考
> cd /data/node
> wget http://maven.meizu.com:8081/artifactory/libs-release-local/com/meizu/bs/node/1.0.0-RC05/node-1.0.0-RC05-resources.zip
> wget http://maven.meizu.com:8081/artifactory/libs-release-local/com/meizu/bs/node/1.0.0-RC05/node-1.0.0-RC05-resources.zip
> unzip -qo node-1.0.0-RC05-resources.zip
> rm -rf node-1.0.0-RC05-resources.zip

node安装


下载 node(使用 v4.x 长期支持的稳定版本):

wget http://nodejs.org/dist/v0.10.33/node-v0.10.33-linux-x64.tar.gz

解压到 /data/node:

vi /etc/profile
添加:
export NODE_HOME=/data/node/node-v4.4.1-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules

让修改生效:

source /etc/profile

测试

node -v

设置默认从淘宝仓库安装依赖包

npm config set registry [https://registry.npm.taobao.org](https://registry.npm.taobao.org/)
npm config set disturl [https://npm.taobao.org/dist](https://npm.taobao.org/dist)

依赖组件


node安装完后会集成npm包管理工具,安装依赖的组件:

npm install -g [email protected]
npm install -g [email protected]

如果是内网项目没有访问外网的权限,可以加上公司内部的私有仓库

npm install -g [email protected] --registry [http://172.16.16.135:7001](http://172.16.16.135:7001/)
npm install -g [email protected] --registry [http://172.16.16.135:7001](http://172.16.16.135:7001/)
npm install -g pm2  --registry [http://172.16.16.135:7001](http://172.16.16.135:7001/)

pm2安装:


pm2是node的一个进程管理工具,进行启动、重启、关闭,还可以输出日志,保护进程等等。

npm install -g pm2 

如果报错提示 add the --unsafe-perm flag.
使用npm install -g pm2 --unsafe-perm安装。
pm2 -v 显示版本信息,表示安装成功
相关命令参考:

启动:pm2 start /data/node/node-server/orion/start.js  -i 8 --name orion &
停止:pm2 kill
重启:pm2 restart orion
查看:pm2 list 或 pm2 info orion

Nginx 配置参考:


#127.0.0.1替换成项目的域名,没有域名用服务器IP
# 请求都转到node的1337端口上
location / {
    proxy_set_header X - Forwarded - For $proxy_add_x_forwarded_for;
    proxy_set_header X - Real - IP $remote_addr;
    proxy_set_header Host $http_host;
    proxy_pass http: //127.0.0.1:1337;
}

# 静态资源
# 带CDN的项目无需在这里配置, 在静态资源的nginx配置就好
# 不带CDN的后台管理项目配置如下
location / resources {
    alias / data / node / resources;
}

# 后台API请求区别对待转到jetty的8080端口上
location / service {
    proxy_store off;
    proxy_redirect off;
    proxy_set_header X - Forwarded - For $proxy_add_x_forwarded_for;
    proxy_set_header X - Real - IP $remote_addr;
    proxy_set_header Host $http_host;
    proxy_pass http: //127.0.0.1:8080/service
}

Jetty: 端口设置为8080

Node启动


cd /data/node/node-server/项目名
pm2 start start.js -i max
日志所在目录:/root/.pm2/logs
max为cpu的核数

QA:

按如上配置环境,发现express,ejs缺失,直接更新如是npm install express/ejs 然后就出现了下面这个Error

Error: Most middleware (like bodyParser) is no longer bundled with Express and must be installed separately. 
Please see https://github.com/senchalabs/connect(https://github.com/senchalabs/connect)#middleware.

这个是由于express版本不对引起的 可以指定版本安装

npm install [email protected]
npm install [email protected]

你可能感兴趣的:(Nodejs运行环境规范)