👋 欢迎来到吴老二技术博客,专注运维 / 数据库 / 云原生
首页/运维服务/正文

node.js服务安装的三种方式

吴
吴老二
2020-03-16运维服务2143 次浏览0 条评论
node.js是一个机遇Charmoe V8引擎的JavaScript运行环境。Node.js使用了一个事件驱动、非阻塞式I/O的模型,Node是运行在JavcScript运行在服务端开发平台,有很多开源的项目都依赖于Node.js。所以这里先学习一下node.js安装。

第一种源码安装

下载nodejs文件
[root@www.wulaoer.org ~]# yum install -y gcc make gcc-c++ openssl-devel
[root@www.wulaoer.org ~]# wget https://nodejs.org/dist/v9.3.0/node-v9.3.0.tar.gz
--2019-04-04 17:31:52--  https://nodejs.org/dist/v9.3.0/node-v9.3.0.tar.gz
正在解析主机 nodejs.org (nodejs.org)... 104.20.22.46, 104.20.23.46, 2606:4700:10::6814:162e, ...
正在连接 nodejs.org (nodejs.org)|104.20.22.46|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:31133673 (30M) [application/gzip]
正在保存至: “node-v9.3.0.tar.gz”

100%[=======================================================================================>] 31,133,673  7.31MB/s 用时 5.2s   

2019-04-04 17:31:58 (5.74 MB/s) - 已保存 “node-v9.3.0.tar.gz” [31133673/31133673])
对于下载的文件进行解压安装
[root@www.wulaoer.org ~]# tar -xf node-v9.3.0.tar.gz 
[root@www.wulaoer.org ~]# cd node-v9.3.0
[root@www.wulaoer.org node-v9.3.0]# ./configure 
[root@www.wulaoer.org node-v9.3.0]# make && make install
注意,这部时间比较久,需要耐心等待
[root@www.wulaoer.org node-v9.3.0]# node -v
v9.3.0
如果编译过程中报 C++ Compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=g++),那需要先升级一下 gcc,编译正常的话请忽略直接跳至第五步开始安装,检查 gcc 的版本。
国内源码wget https://npm.taobao.org/mirrors/node/v10.13.0/node-v10.13.0.tar.gz
nodejs安装完成了,部署完成后nodejs为分别放在好几个文件夹内:
/usr/local/bin –放置nodejs 执行程序
/usr/lib –放置了node_modules,即nodejs的各种模块
/usr/include –放置了nodejs扩展开发用头文件
优点是全局安装nodejs模块,直接使用。

第二种直接安装

首先下载nodejs包
[root@www.wulaoer.org ~]# yum install -y wget
[root@www.wulaoer.org ~]# wget https://nodejs.org/dist/v9.3.0/node-v9.3.0-linux-x64.tar.xz
解压包
[root@www.wulaoer.org ~]# xz -d node-v9.3.0-linux-x64.tar.xz
[root@www.wulaoer.org ~]# tar -xf node-v9.3.0-linux-x64.tar
部署bin文件
[root@www.wulaoer.org ~]# ln -s ~/node-v9.3.0-linux-x64/bin/node /usr/bin/node
[root@www.wulaoer.org ~]# ln -s ~/node-v9.3.0-linux-x64/bin/npm /usr/bin/npm
测试
[root@www.wulaoer.org ~]# node -v
[root@www.wulaoer.org ~]# npm

第三种安装

curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
yum -y install nodejs
使用pm2部署nodejs,安装pm2
[root@www.wulaoer.org ~]# npm install -g pm2
/usr/local/bin/pm2 -> /usr/local/lib/node_modules/pm2/bin/pm2
/usr/local/bin/pm2-dev -> /usr/local/lib/node_modules/pm2/bin/pm2-dev
/usr/local/bin/pm2-docker -> /usr/local/lib/node_modules/pm2/bin/pm2-docker
/usr/local/bin/pm2-runtime -> /usr/local/lib/node_modules/pm2/bin/pm2-runtime
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.7 (node_modules/pm2/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

+ pm2@3.5.0
added 377 packages in 48.453s
[root@www.wulaoer.org ~]# 
查看一下安装的版本
[root@www.wulaoer.org ~]# pm2 -v
3.5.0
负载均衡
pm2 start app.js -i 3 # 开启三个进程
pm2 start app.js -i max # 根据机器CPU核数,开启对应数目的进程 
用法:
最简单的启用一个应用:  pm2 start app.js
停止:pm2 stop app_name|app_id
删除:pm2 delete app_name|app_id
重启:pm2 restart app_name|app_id
停止所有:pm2 stop all
查看所有的进程:pm2 list
查看所有的进程状态:pm2 status
查看某一个进程的信息:pm2 describe app_name|app_id
相关参数:
--watch:监听应用目录源码的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件

-i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目,可以弥补node.js缺陷

--ignore-watch:排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如--ignore-watch="test node_modules "some scripts"


-n --name:应用的名称。查看应用信息的时候可以用到

-o --output <path>:标准输出日志文件的路径,有默认路径

-e --error <path>:错误输出日志文件的路径,有默认路径

--interpreter <interpreter>:the interpreter pm2 should use for executing app (bash, python...)。比如你用的coffee script来编写应用
完整参数命令: pm2 start index.js --watch -i 2
文章底部广告位在后台「广告设置」填写广告代码后显示

评论 0

评论需 登录 后发表(注册并验证邮箱)。
还没有评论,来抢沙发~