Node 部署
1 下载最新版本 Node
打开 Node 下载页面 https://nodejs.org/en/download/
选择 Linux Binaries (x64) ,复制其地址
- 使用名
wget 下载地址
获取到 Linux主机上
2 安装 Node
解压:
tar -zxvf 压缩包名
xz -d xxx.tar.xz # 解压缩
tar -xvf xxx.tar # 解包
移动到软件安装目录下
mkdir /usr/local/applications # 以后这样的二进制包都放这了
mv 解压出的目录 /usr/local/applications/nodejs #把名字改成nodejs
创建软链接加入命令目录
ln -s /usr/local/applications/nodejs/bin/node /usr/bin/
ln -s /usr/local/applications/nodejs/bin/npm /usr/bin/
这种方式会造成 npm 全局安装的命令不存在,所有推荐下面的方式
如果不创建软链接,也可以配置环境变量:
在 /etc/profile 文件中追加内容
export NODEJS_HOME=/user/local/applications/nodejs
export PATH=$PATH:$NODEJS_HOME/bin
运行命令 source /etc/profile
生效!
3 pm2 部署 Node 项目
3.1 pm2 介绍
pm2(process manager)是一个进程管理工具,维护一个进程列表,可以用它来管理你的node进程,负责所有正在运行的进程,并查看node进程的状态,也支持性能监控,负载均衡等功能。具有如下特点:
- 监听文件变化,自动重启程序
- 支持性能监控
- 负载均衡
- 程序崩溃自动重启
- 服务器重新启动时自动重新启动
- 自动化部署项目
3.2 pm2 安装
npm install pm2 -g
3.3 常用操作
启动一个node程序
pm2 start start.js
启动进程并指定应用的程序名
pm2 start app.js --name application1
列出所有进程
pm2 list
pm2 ls // 简写
从进程列表中删除进程
// pm2 delete [appname] | id
pm2 delete app // 指定进程名删除
pm2 delete 0 // 指定进程id删除
删除进程列表中所有进程
pm2 delete all
重启进程
pm2 restart app // 重启指定名称的进程
pm2 restart all // 重启所有进程
设置pm2开机自启
开启启动设置,此处是CentOS系统,其他系统替换最后一个选项(可选项:ubuntu, centos, redhat, gentoo, systemd, darwin, amazon)
pm2 startup centos