PM2 ecosystem 服务器自动化部署

news/2024/11/18 17:24:07/文章来源:https://www.cnblogs.com/leeke98/p/18292550

一:准备工作

1.1 :将项目上传至代码管理库(github,gitlab,bitbucket,等)

1.2 :Windows 和 服务器 都安装SSH,Git 工具。

二:开始

2.1 本地生成ssh key连接服务器

//根据邮箱生成ssh key
ssh-keygen -t rsa -C "..........@163.com"//仔细看注释
//1.如果生成过一次ssh key,就别一路回车了。中间有一步是需要确认覆盖ssh key的。

2.2 将本地id_rsa.pub里面的内容复制下来(路径是C:\Users\Administrator\.ssh),添加进服务器~/.ssh/authorized_keys文件中。

(服务器中authorized_keys文件)

2.3 在根据2.1步骤在服务器生成ssh key。此处就不过多写了。

2.4 在将服务器中生成的id_rsa.pub复制下来(路径是~/.ssh),添加进github ssh key。(这里以github为例)

位置在(右上角个人中心/Settings)进去

三:编码(生成pm2部署文件)

3.1 找一个位置生成ecosystem.config.js部署文件。

3.2 编译部署文件。

module.exports = {apps: [{// 应用程序名称name: 'www', // 应用程序目录,其他的路径配置如果是相对路径,则会相对此目录cwd: '/www/wlink/current/wlink_service/bin/',// 启动脚本script: 'www', // Options reference: https://pm2.io/doc/en/runtime/reference/ecosystem-file/args: 'one two',instances: 'max',autorestart: true,watch: false,max_memory_restart: '1G',env_production: {NODE_ENV: 'production'},}],// 部署部份deploy: {production: {// 服务器用户名user: 'root',// 服务器 IP 地址host: '127.0.0.1',// git 分支ref: 'origin/master',// GIT 远程仓库地址repo: 'git@github.com:dlw1398287387/Wlink_Table.git',// 应用程序在服务器上的部署路径path: '/www/wlink',// 安装前在服务器执行的命令,可以是 “;” 分割的多个命名,也可以是本地的脚本路径// 'pre-setup': 'apt-get install git',// 安装后在服务器执行的命令,也可以是服务器上脚本的路径'post-setup': 'sh /www/wlink/current/wlink_service/www.sh',// 部署前在本地执行的命令,可以是 “;” 分割的多个命名'pre-deploy-local': "echo 'hello word'",// 部署后在服务器执行的命令'post-deploy': 'cnpm install && pm2 reload ecosystem.config.js --env production',env: {NODE_ENV: "production"}}}
};

*3.3 SSH 远程连接github (此处最重要)

//在服务器执行
ssh git@github.com

3.4 执行ecosystem.config.js部署文件

使用git工具进入到刚刚生成的部署文件目录。执行(此为部署,释义:将代码clone到服务器指定位置)

pm2 deploy ecosystem.config.js production setup

静静等待项目部署就OK。

 

3.5 执行ecosystem.config.js启动项目 (释义:pm2 start app.js)

pm2 deploy ecosystem.config.js production

结束!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/741270.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java推送打卡记录到企微,中文乱码

在开发机中,推送中文能正常显示,部署到windows服务器上,中文显示乱码 设置windows环境变量: JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8

Linux web服务

Web服务在Linux中存在许多可以提供web服务的软件,httpd、tomcat、nginx等Web通信的基本概念基于B/S架构的网页服务 HTTP HTML【1】、httpd软件 1、httpd软件安装httpd是软件基金会写出的 软件基金会(Apache)yum install -y httpdrpm -qa httpd httpd-2.4.37-62.module+el8.9…

jmeter分布式no-gui 测试报告

1、远程测试 https://jmeter.apache.org/usermanual/remote-test.html 2、 3、进行分布式压测是,服务器需要先启动jmeter-sever,启动jmeter-sever建议加上nobup,后开运行,停止服务时,先停master,在停slave,不然可能有问题。linux上具体的压测命令如下: 只有一台服务时…

vmware禁止虚拟主机开启后自动时间同步到宿主机

编辑虚拟机 VMX配置文件找到tools.syncTime = "FALSE"并在该行下添加如下七行,注意标点符号 time.synchronize.continue = "FALSE" time.synchronize.restore = "FALSE" time.synchronize.resume.disk = "FALSE" time.synchronize.sh…

转-OAuth2.0 原理流程及其单点登录和权限控制

原文链接 单点登录是多域名企业站点流行的登录方式。本文以现实生活场景辅助理解,力争彻底理清 OAuth2.0 实现单点登录的原理流程。同时总结了权限控制的实现方案,及其在微服务架构中的应用。 1 什么是单点登录 1.1 多点登录 传统的多点登录系统中,每个站点都实现了本站专用…

【转】-Java反射

Java 反射由浅入深 | 进阶必备 原文链接 本博文主要记录我学习 Java 反射(reflect)的一点心得,在了解反射之前,你应该先了解 Java 中的 Class 类,如果你不是很了解,可以先简单了解下。 一、Java 反射机制 参考了许多博文,总结了以下个人观点,若有不妥还望指正:Java 反…

OAuth2.0登录的四种方式

OAuth登录的四种方式 1. 授权码 授权码(authorization code)方式,指的是第三方应用先申请一个授权码,然后再用该码获取令牌。 这种方式是最常用的流程,安全性也最高,它适用于那些有后端的 Web 应用。授权码通过前端传送,令牌则是储存在后端,而且所有与资源服务器的通信…

C++关于计算浮点数小数位数时遇到的浮点数精确度问题(以及浮点数强制转换问题)

起因是当我想要计算浮点数的小数位位数(利用当浮点数num减去其整数位 ) 我的想法是先分离出小数位,然后每次循环给小数位乘上10,直到不存在小数位时,就会满足当num - (int)num == 0通过这种方式就可以得到小数位的长度 #include <iostream> using namespace std; in…

codeforces 955 div 2 D

题目链接 D. Beauty of the mountains 题目大意解题思路 首先记录所有雪山和没有雪山两种山峰的高度差为 \(tot\) ,然后对于每个可能的子矩,我们可以每次给所有山峰都加一或者减一,因此只要计算出矩阵内两种山峰的个数差的绝对值我们就能得到每次操作该子矩阵对tot的贡献 \(…

全局ID工具类

测试方法学习: 定义一个任务(生成id),执行300次,让不同线程执行这300次,用线程池对象的submit方法。心甘情愿做你现在想做的每一件事。

Dubbo源码学习

学习Dubbo框架与手写模拟相关内容 一、存在的意义 Dubbo:解决分布式系统的复杂性,实现服务治理(使服务之间的调用变的简单)和自动注册与发现,简化服务调用。 二、调用过程Dubbo的使用 接口代表一种服务,对应不同的实现,使服务之间的依赖变的简单。 服务消费者通过ClassP…

软件测试的分类and测试进阶路线

本文来自博客园,作者:子沐呐吖,转载请注明原文链接:https://www.cnblogs.com/SuperLee017/p/18292404