一、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
2020年11月26日 00:17 沙发
只想给你点个赞
2020年12月3日 11:56 1层
@111 谢谢你,哈哈