共计 4635 个字符,预计需要花费 12 分钟才能阅读完成。
常用命令
新建项目(需要到该项目文件目录下执行,否则日志会报错) | pm2 start bin/www – i max – – name ijhealth |
只开启一个线程 | node bin/www (没有进程守护) |
开启项目 | pm2 start 项目名称 |
关闭项目 | pm2 stop 项目名称 |
重启项目 | pm2 restart 项目名称 |
删除项目 | pm2 delete 项目名称 |
列出项目 | pm2 list |
查看进程详细信息 | pm2 show 0 / pm2 info 0 (0为进程ID) |
查看日志 | pm2 logs 项目名称 |
清空日志 | pm2 flush |
重载日志 | pm2 reloadLogs |
升级PM2 | npm install pm2@lastest -g (安装最新版本) pm2 updatePM2 (升级pm2) |
查看帮助 | pm2 –help |
修改 npm 源 | npm config set registry=”http://registry.npmjs.org” 或者 npm config set registry=”https://registry.npm.taobao.org” |
注:所有 pm2 命令都可以用 all 来对所有项目执行操作,比如删除所有项目,可以执行以下语句
pm2 delete all
注:node.js有保护进程,如果要停止一个项目,需要用 pm2 delete 删除,而不能用 kill 杀进程,否则 kill 完还是会有进程产生。
环境安装
操作系统:Linux h5 3.10.0-327.13.1.el7.x86_64 #1 SMP Thu Mar 31 16:04:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
操作步骤
Node.js 环境搭建
一 . 安装node.js
1.直接从网上(http://nodejs.cn/download/)下载压缩包 node-v6.2.0-linux-x64.tar.xz,放到linux 上 home目录下
2.解压压缩包到 /home/node 下
cd /home
tar -zxv -f node-v6.2.0-linux-x64.tar.xz
mkdir node
mv node-v6.2.0-linux-x64 node
3.设置全局变量
ln -s /home/node/node-v6.2.0-linux-x64/bin/node /usr/local/bin/node
ln -s /home/node/node-v6.2.0-linux-x64/bin/npm /usr/local/bin/npm
4.设置环境变量
vim /etc/profile
在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:
#set for nodejs
export NODE_HOME=/home/node/node-v6.2.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH
:wq保存并退出,编译 /etc/profile 使配置生效
source/etc/profile验证是否安装配置成功
node -v如果看到版本号,说明 node 安装成功
二、安装 redis
1.yum install epel-release
2.yum install redis
Node.js项目初始化
一.下载代码
登入 svn,checkout 最新代码
(例如:https://svn.dev.zoenet.cn:8443/svn/juyihui/client/web/zoe-jxcoverage-app/trunk)
下载的所有文件夹和文件到本地,并将这些文件 ( 除了 .idea 和node_modules,因为这两个文件在之后运行 npm install 时会安装 ) 压缩成一个 zip 安装包
二.建立新项目文件夹
在/home/zoe-net(此处为本例常用项目存放处,可根据实际情况自定义)下,新建一个项目文件夹,命名为项目名
mkdir new_project
三.传递代码压缩包
将压缩包 传到 /home/zoe-net/new_project 下(可以使用 rz 命令上传文件 ), 并将压缩包解压到 new_project 文件夹下
unzip new_project.zip
四.npm 安装
在 new_project 下,运行以下命令:
cd /home/zoe-net/new_project
npm install
安装node-gyp
npm install node-gyp -g
(注意:不安装此项有可能出现执行 npm install 进程卡住的问题)
再安装ccap
npm install ccap
还需要安装git, gcc
$ npm update minimatch
$ npm -v minimatch
2.10.1
$ npm install -g npm@3
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@3.10.5 /usr/local/lib/node_modules/npm
$ npm install -g minimatch@3.0.2
/usr/local/lib
└─┬ minimatch@3.0.2
└─┬ brace-expansion@1.1.6
├── balanced-match@0.4.2
└── concat-map@0.0.1
$ npm -v minimatch
六.关闭防火墙
firewall-cmd –zone=public –add-port=4100/tcp –permanent
firewall-cmd –reload
注:4100处为项目需要开启的端口号
安装cnpm
npm install cnpm -g
修改注册表地址
cnpm config set registry=”http://172.16.34.248:7001/”
(以上 IP 地址根据自身情况而定)
cnpm config list
安装 zoenet-itom 项目
cnpm install zoenet-itom
安装ccap
cnpm install ccap –save
七.安装PM2
之后很多操作都需要使用 PM2 的强大功能,这里需要先安装pm2
npm install -g pm2
八.修改配置文件中 redis 地址
确保配置文件中 redis 地址正确,配置文件 config.js 地址位于
项目名称下的 app/config 下,如果 redis 安装在本地,可以将
host:”localhost” 前的 // 去掉,在原本的 host 前加上//
注:一般情况下如果发布后网页卡顿无法打开,日志又没有报错,就要看看 redis 的地址是否是正确的。
九.初始化项目
注意,初始化时需要 进入指定项目的目录执行,否则可能会产生日志错误
例如,添加 ijhealth 服务监视:
cd /home/zoe-net/ijhealth
pm2 start bin/www – i max –name ijhealth
注:
Start 代表添加服务
www 是 bin 文件夹下一个相当于执行监视的插件服务
-i 3 代表监视三个线程,一般 js 只用到 3 个以内的线程 , 也可以用 max, 表示使用最大线程数
–name ijhealth 自定义监测 list 中所监测服务的名字,一般和项目名称一致,方便区别
十.查看启动情况
pm2 list
十一.一般操作指令
一般项目都在启动中,可以用重启命令,重启某个项目。例如,重启ijhealth
pm2 restart ijhealth
关闭某个项目
pm2 stop 项目名字
删除某个项目
Pm2 delete 项目名字
十二.查看日志
pm2 logs
或
pm2 logs 具体项目名称
十三.查看项目端口号
例如,要查看 ijhealth 项目的端口号,需要进入项目的文件夹中,查看 bin/www 文件
cat /home/zoe-net/ijhealth/bin/www
常见问题
问题一:日志提示有关时间戳问题“com.zoe.timehash.zip”
答:需要在对应项目下 node_modules 文件夹中添加 com.zoe.timehash 时间戳。(该时间戳的获取可以直接从已有的项目下复制黏贴)
例如:/home/zoe-net/zoenethospital/node_modules/com.zoe.timehash
问题二:npm连接错误“Error: connect ECONNREFUSSED….”
答:问题的原因是 npm 源指定问题,解决方法是重新指定 npm 源地址。npm config set registry=”http://registry.npmjs.org”
如果上面的 npm 地址不行的话,大家可以试试淘宝的npm,非常稳定:
地址:https://registry.npm.taobao.org
问题三:node.js项目启动了,pm2 list显示 online, pm2 logs 没有报错,但是就是无法访问页面,像是卡住了(有时候可以访问,有时候不行访问)
答:首先,先检查一下对应端口有没有开(端口号可以在 bin/www 中或者 app.js 中查询到),如果有,再检查一下对应的端口号是否已经被占用或者和其他应用程序冲突(可以 pm2 stop 项目并且 pm2 delete 项目,然后 netstat -nltp 看一下端口是否还在)。如果以上检查都没有问题,有可能是因为 redis 地址设置问题。先检查 redis 是否开启,如果开启,再到项目文件夹下 app/config 中的 config.js 里查看 redis 的地址 是否指向正确。
问题四:Error: Cannot find module ‘express-session’
答:只需在对应项目文件夹下运行 npm install 命令就好
下面关���Node.js的内容你可能也喜欢:
在 Ubuntu 14.04/15.04 上安装配置 Node.js v4.0.0 http://www.linuxidc.com/Linux/2015-10/123951.htm
如何在 CentOS 7 安装 Node.js http://www.linuxidc.com/Linux/2015-02/113554.htm
Ubuntu 14.04 下搭建 Node.js 开发环境 http://www.linuxidc.com/Linux/2014-12/110983.htm
Ubunru 12.04 下 Node.js 开发环境的安装配置 http://www.linuxidc.com/Linux/2014-05/101418.htm
Node.Js 入门[PDF+ 相关代码] http://www.linuxidc.com/Linux/2013-06/85462.htm
Node.js 开发指南 高清 PDF 中文版 + 源码 http://www.linuxidc.com/Linux/2014-09/106494.htm
Node.js 入门开发指南中文版 http://www.linuxidc.com/Linux/2012-11/73363.htm
Ubuntu 编译安装 Node.js http://www.linuxidc.com/Linux/2013-10/91321.htm
Node.js 的详细介绍:请点这里
Node.js 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/136159.htm