阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下Node.js部署文档

220次阅读
没有评论

共计 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,放到linuxhome目录下

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

Linux 下 Node.js 部署文档

Linux 下 Node.js 部署文档

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 

Linux 下 Node.js 部署文档

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 安装成功

Linux 下 Node.js 部署文档

Linux 下 Node.js 部署文档

二、安装 redis

1.yum install epel-release

Linux 下 Node.js 部署文档

    2.yum install redis

Linux 下 Node.js 部署文档

Node.js项目初始化

一.下载代码

登入 svncheckout 最新代码

(例如:https://svn.dev.zoenet.cn:8443/svn/juyihui/client/web/zoe-jxcoverage-app/trunk

下载的所有文件夹和文件到本地,并将这些文件 除了 .ideanode_modules,因为这两个文件在之后运行 npm install 时会安装 ) 压缩成一个 zip 安装包

Linux 下 Node.js 部署文档

二.建立新项目文件夹

/home/zoe-net(此处为本例常用项目存放处,可根据实际情况自定义)下,新建一个项目文件夹,命名为项目名

 mkdir new_project

Linux 下 Node.js 部署文档

三.传递代码压缩包

将压缩包 传到 /home/zoe-net/new_project 下(可以使用 rz 命令上传文件 , 并将压缩包解压到 new_project 文件夹下

unzip new_project.zip

Linux 下 Node.js 部署文档

Linux 下 Node.js 部署文档

四.npm 安装

new_project 下,运行以下命令:

cd /home/zoe-net/new_project

npm install

Linux 下 Node.js 部署文档

Linux 下 Node.js 部署文档

安装node-gyp

npm install node-gyp  -g

Linux 下 Node.js 部署文档

(注意:不安装此项有可能出现执行 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处为项目需要开启的端口号

Linux 下 Node.js 部署文档

安装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 的地址是否是正确的。

Linux 下 Node.js 部署文档

九.初始化项目

注意,初始化时需要 进入指定项目的目录执行,否则可能会产生日志错误

例如,添加 ijhealth 服务监视:

cd /home/zoe-net/ijhealth

pm2 start bin/www  – i  max  –name  ijhealth

Linux 下 Node.js 部署文档

注:

Start    代表添加服务

www           bin 文件夹下一个相当于执行监视的插件服务

-i 3             代表监视三个线程,一般 js 只用到 3 个以内的线程 , 也可以用 max, 表示使用最大线程数

–name ijhealth   自定义监测 list 中所监测服务的名字,一般和项目名称一致,方便区别

十.查看启动情况

pm2 list

Linux 下 Node.js 部署文档

十一.一般操作指令

一般项目都在启动中,可以用重启命令,重启某个项目。例如,重启ijhealth

 pm2 restart ijhealth

关闭某个项目

pm2 stop 项目名字

删除某个项目

Pm2 delete 项目名字

十二.查看日志

pm2 logs

pm2 logs 具体项目名称

Linux 下 Node.js 部署文档

十三.查看项目端口号

例如,要查看 ijhealth 项目的端口号,需要进入项目的文件夹中,查看 bin/www 文件

 cat /home/zoe-net/ijhealth/bin/www 

Linux 下 Node.js 部署文档

Linux 下 Node.js 部署文档

常见问题

问题一:日志提示有关时间戳问题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

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4635字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中