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

centos7安装nodejs的三种方式

吴
吴老二
2020-01-11运维服务4078 次浏览0 条评论

一、nodejs 源码安装

nodejs安装方式有三种,这里分别都写一下 1、第一种源码安装 1.1、下载nodejs文件
[root@localhost ~]# yum install -y gcc make gcc-c++ openssl-devel
[root@localhost ~]# 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])
1.2、对于下载的文件进行解压安装
[root@localhost ~]# tar -xf node-v9.3.0.tar.gz 
[root@localhost ~]# cd node-v9.3.0
[root@localhost node-v9.3.0]# ./configure 
[root@localhost node-v9.3.0]# make && make install
注意,这部时间比较久,需要耐心等待
[root@localhost 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模块,直接使用。

2、第二种直接安装

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

3、第三种安装

curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
yum -y install nodejs

二,使用pm2部署nodejs

安装pm2
[root@confluence ~]# 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@confluence ~]# 
查看一下安装的版本
[root@confluence ~]# 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

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