pm2集群模式mysql配置_配置 PM2 一键部署

本文详细介绍了如何配置和使用PM2部署Node.js应用程序到远程服务器,包括设置数据库连接、添加公钥、推送代码到GitHub、创建Ecosystem配置文件、部署代码以及管理服务器上的应用。此外,还涵盖了部署过程中的关键命令,如安装、更新、回滚和强制提交等。
摘要由CSDN通过智能技术生成

[TOC]

# 连接线上数据库

~~~

var env = process.env.NODE_ENV || ' development'

// 格式为 mongodb://usernam:password@host:port/database

var dbUrl = 'mongodb://root:123456@127.0.0.1:27017/base'

if (env === 'development') {

dbUrl = 'mongodb://localhost/base'

}

~~~

# 添加公钥

将服务器的公钥添加到代码仓库的SSH

# 将本地代码推送到代码仓库

~~~

git status

git add .

git commit -m "first commit"

git remote add origin git@github.com:surahe/xxxxx.git

git push origin master

~~~

# 创建 Ecosystem file

~~~

pm2 init

~~~

~~~

// ecosystem.config.js

module.exports = {

apps : [{

// 必填项

name: 'API', // 进程列表中的进程名称。默认值是没有扩展名的脚本文件名

script: 'app.js', // 要启动的脚本路径,必填字段

// 选填项

args: 'one two', // 传递给脚本的参数,默认值是当前环境的CWD

instances: 1, // 默认值是 1

autorestart: true, // 进程失败后启用或禁用自重启,默认值是true

watch: false, // 启用或禁用观察模式,或使用数组指定监控的目录

max_memory_restart: '1G', // 如果超出内存量,重新启动应用

env: {

NODE_ENV: 'development'

},

env_production: { // 指定使用–env 时要注入的环境变量

NODE_ENV: 'production'

}

}],

deploy : {

production : {

// 必填项

user : 'node', // SSH user

host : '212.83.163.1', // SSH user

ssh_options: "StrictHostKeyChecking=no", // 主机公钥确认

ref : 'origin/master', // GIT 远程分支

repo : 'git@github.com:repo.git', // GIT remote

path : '/var/www/production', // 项目在服务器的位置

// 选填项

// key: "/path/to/some.pem", // SSH key path, 默认为 $HOME/.ssh

// 'pre-setup': "apt-get install git ; ls -la", // 初始化的时候调用

// 'post-setup': "ls -la",

// 'pre-deploy-local': "echo 'This is a local executed command'",

'post-deploy' : 'npm install && pm2 reload ecosystem.config.js --env production' // 接受推送触发的钩子, 安装依赖及重载服务

}

}

};

~~~

# 创建代码存放目录

在服务器创建代码存放目录

~~~

mkdir /www/

cd /www

mkdir /website

~~~

# 第一次部署

在本地使用 git bash 执行,进行您的第一次部署并填充远程路径

~~~

pm2 deploy deploy.yaml production setup

~~~

![](https://box.kancloud.cn/9a25e0fd642131d40ab370c8f7bcd1c0_352x200.png)

# 修改后提交

修改代码并提交到远端后,执行

~~~

pm2 deploy deploy.yaml production

~~~

![](https://box.kancloud.cn/5b201f6acf638b228117c560dfd10004_732x242.png)

# 部分命令

## 安装

```

pm2 deploy production setup

```

> 服务器上的git版本需要在v1.8以上,否则fetch不成功,代码更新不了

## 更新

```

pm2 deploy production update

```

## 回滚

可查看提交记录,回滚到想要的版本 `pm2 deploy production list`

```

pm2 deploy production revert 1

```

## 强制提交

当你代码有修改但是不想提交时可以强制发布

```

pm2 deploy production --force

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值