本文主要介绍pm2部署项目到linux服务器的大致流程。关于pm2的使用,请参考文档。
- 首先确保在本地和服务器都能以ssh的方式下拉代码。
- 在github上创建一个仓库demo,克隆到本地。通过在命令行输入express生成一个简单的express项目,安装依赖,通过npm start运行项目,打开浏览器输入localhost:3000,可看到如下界面,代表本地项目没有问题启动成功并将代码push到github上。 success.png
- pm2配置文件
module.exports = {
/**
* Application configuration section
* http://pm2.keymetrics.io/docs/usage/application-declaration/
*/
apps: [
{
name : 'demo',
script : 'bin/www',
env: {
NODE_ENV: 'production'
}
}
],
/**
* Deployment section
* http://pm2.keymetrics.io/docs/usage/deployment/
*/
deploy: {
master: {
user : 'user',
host : ['xxx.xxx.xxx.xxx'],
port : 'xxxx',
ref : 'origin/master',
repo : 'git@github.com:sunshine1125/demo.git',
path : '/home/user/demo',
// "ssh_options": ["StrictHostKeyChecking=no", "PasswordAuthentication=no"],
'post-deploy': 'npm install && pm2 startOrReload ecosystem.config.js --env production'
}
}
};
- 执行配置命令下拉代码
pm2 deploy ecosystem.config.js master setup
master 和配置文件中的master对应,代表要配置的项目名称。
- 配置成功后,我们会看到在服务器的 /home/liut 目录下会多了一个demo文件,查看文件里面有三个目录:
current: 当前服务运行的文件夹
shared: log 等共享数据
source: 克隆下来的源代码
- 查看源代码,可以看到项目的依赖并没有安装,我们在配置文件里已经配置过了,直接执行
pm2 deploy ecosystem.config.js master
会自动安装依赖并启动项目
- 在浏览器输入服务器的 ip 加项目启动的端口号,如:x.x.x.x:3000,可看到如步骤2一样的成功页面,即项目部署成功。
网友评论