前提条件
- 在服务器上安装node
- 安装git
- 安装pm2
这里列举node和pm2的最简洁的安装方法
centos使用yum ubuntu apt-get 安装
https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora
// 获取操作系统版本
uname -a
# // 上node官网查找对应版本:https://npm.taobao.org/mirrors/node/v10.16.0/node-v10.16.0-linux-x64.tar.xz
# // 从远端拉去到服务器并保存到 /usr/local/
# cd /usr/local/
# wget https://npm.taobao.org/mirrors/node/v10.16.0/node-v10.16.0-linux-x64.tar.xz
# //解压
# tar -xvf node-v10.16.0-linux-x64.tar.xz
# // 重命名
# mv node-v10.16.0-linux-x64 nodejs
# cd nodejs/bin
# node -v // 可显示版本说明下载成功
# // 将服务器旧版本替换:通过软链的方式将新的可执行程序添加到环境变量中npm和node:
# ln -s /usr/local/nodejs/bin/node /usr/local/bin
# ln -s /usr/local/nodejs/bin/npm /usr/local/bin
# vim /etc/profile=>更改PATH:export PATH=/usr/local/bin:$PATH
# source /etc/profile =>执行node -v 检查
安装node指定版本 10.x
wget -qO- https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs(解决权限问题 chmod 777 ./xxxx,用sudo就没关系)
管理node最好的方法是3工具(npm nrm nvm)
1. 先安装nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
或者
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
2,设置环境变量
source ~/.bashrc
3. 查看 NVM和版本list和本机版本
nvm --version nvm ls-remote nvm ls
4. 安装需要的node版本
nvm install 10.13.
5. 查看默认版本
nvm alias default node
6. nrm安装使用
npm install -g nrm 测速 nrm test 切换源 nrm use xxx 添加源 nrm add yourcompany http://xxxx
// 克隆项目到服务器上(注意克隆要切换到正确分支) 并安装依赖 sudo npm install
// 开发环境跑测试(npm run serve...)=>注意生产环境和开发环境的不同,生产环境部署时的请求地址或者端口的变化,需
// 将相应的配置文件更改
// 打包项目 sudo npm run build
// 让node进程长链接使用:nohup node prod.server.js 和 forever 都失败了
// 安装pm 2
// npm install -g pm2
// 编写pm2 配置文件pm2.yml
apps:
- script: ./prod.server.js
name: my-music-app
env_production:
NODE_ENV: production
HOST: localhost
PORT: 9000
// 运行node项目
pm2 start pm2.yml --env production
pm2
- 使用
你可以简单地在全局安装 npm install -g pm2,然后用 PM2 启动应用即可。
你可以使用 配置脚本的方式如上去启动应用。
例如:app.json
{
"name": "your-app",
"script": "inde.js",
"watch": true,
"ignore_watch": ["logs", "assets", "views"],
"env": {
"NODE_ENV": "production",
},
"instances": 1,
"log_date_format": "YYYY-MM-DD hh:mm:ss",
}
然后用 pm2 start process.json 来启动
- 常见命令
npm install -g pm2
pm2 start app.js // 启动
pm2 start app.js -i max //启动 使用所有CPU核心的集群
pm2 stop app.js // 停止
pm2 stop all // 停止所有
pm2 restart app.js // 重启
pm2 restart all // 重启所有
pm2 delete app.js // 关闭
pm2 list //显示所有应用
pm2 monit //显示应用监控面板
pm2 logs //显示实时 log
pm2 restart [id] //重启应用
pm2 stop [id] //停止应用
pm2 kill [id] //关闭应用
nohup 方式
nohup node app.js &
forever 方式
npm install forever -g
forever start app.js //启动
forever stop app.js //关闭
forever stopall //关闭全部
forever restart app.js //重启
forever restartall //重启全部