当前位置: 首页 > news >正文

网站建设公司服务/google 浏览器

网站建设公司服务,google 浏览器,做企业公示的数字证书网站,专业做h5网站基于GitHub ActionsSSHPM2的Node.js自动化部署全流程指南 一、前期环境准备 1. 基础设施准备 云服务器:推荐Ubuntu 20.04(开放22端口)GitHub仓库:存放Node.js项目代码(需包含package.json)本地开发环境&…

基于GitHub Actions+SSH+PM2的Node.js自动化部署全流程指南

一、前期环境准备

1. 基础设施准备

  • 云服务器:推荐Ubuntu 20.04+(开放22端口)
  • GitHub仓库:存放Node.js项目代码(需包含package.json)
  • 本地开发环境:Node.js 16+环境

2. 安装必要组件

# 在服务器执行
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs
sudo npm install pm2 -g

二、GitHub配置关键步骤

1. 配置仓库Secrets

在仓库Settings → Secrets → Actions中添加:

  • SERVER_IP: 服务器公网IP
  • SSH_PRIVATE_KEY: 服务器的SSH私钥(通过cat ~/.ssh/id_rsa获取)
  • DEPLOY_PATH: 项目部署路径(如/var/www/express-app

2. 生成SSH密钥对(如未生成)

ssh-keygen -t rsa -b 4096 -C "github_actions"
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

三、创建GitHub Actions工作流

在项目.github/workflows/deploy.yml中配置

name: Node.js CI/CD Pipelineon:push:branches: [ main ]jobs:deploy:runs-on: ubuntu-lateststeps:- name: Checkout codeuses: actions/checkout@v3- name: Install dependenciesuses: actions/setup-node@v3with:node-version: 16- name: SSH Deployuses: appleboy/ssh-action@v0.1.10with:host: ${{ secrets.SERVER_IP }}username: rootkey: ${{ secrets.SSH_PRIVATE_KEY }}script: |cd ${{ secrets.DEPLOY_PATH }}git pull origin mainnpm install --productionpm2 reload ecosystem.config.js --env productionpm2 save

四、PM2配置与监控

1. 创建ecosystem配置文件

// ecosystem.config.js
module.exports = {apps: [{name: "express-app",script: "app.js",instances: "max",autorestart: true,watch: false,env: {NODE_ENV: "production",PORT: 3000}}]
}

2. 常用PM2监控命令

pm2 monit        # 实时监控面板
pm2 logs         # 查看实时日志
pm2 list         # 查看进程状态
pm2 save         # 保存当前进程列表

五、典型问题排查

1. 部署失败:权限不足

# 服务器执行
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

2. PM2进程未启动

检查服务器防火墙设置:

sudo ufw allow 3000/tcp  # 开放应用端口
sudo ufw allow 22/tcp    # 确保SSH端口开放

3. GitHub Action报错"Host key verification failed"

在SSH步骤前添加:

 1. name: Add known hostsrun: |mkdir -p ~/.sshssh-keyscan ${{ secrets.SERVER_IP }} >> ~/.ssh/known_hosts

六、进阶优化方向

  1. 多环境部署:通过Git分支管理dev/stage/prod环境
  2. Webhook通知:集成Slack/Discord发送部署结果通知
  3. 回滚机制:结合PM2的日志快照功能实现快速回滚
  4. 健康检查:在workflow中添加curl健康检查步骤
http://www.lryc.cn/news/577775.html

相关文章:

  • 海南旅游网页设计/草根seo博客
  • 网站建设有哪些渠道/浅谈一下网络营销的几个误区
  • 如何对自己做的php网站加密/网店推广的重要性
  • 做网站技术要求怎么写/seo建站技巧
  • 圣辉友联做网站公司/人民日报评网络暴力
  • 适合推广的网站有哪些/雷神代刷推广网站
  • dw做网站地图/免费建立个人网站申请
  • 石家庄网站建设工作室/本周新闻热点事件
  • 徐州手机网站制作公司/万网域名查询注册商
  • 惠州专业网站建设价格/百度问一问
  • 如何运营网站/新冠疫情最新消息
  • dw做简单小说网站/企业如何注册自己的网站
  • pc端网站优缺点/发布软文广告
  • 云网站系统/无锡seo优化公司
  • 做网站设计比较好的公司/抖音广告投放代理商
  • 网站模板修改/怎么做线上推广
  • 做网站的像素/什么平台推广效果最好
  • ppt模板免费下载网站哪个好/百度seo站长工具
  • 儿童早教网站模板/优化网站关键词排名
  • 一级a做爰片i免费网站/推广一个产品有哪些方式
  • 微网站建设方案书/吸引人气的营销方案
  • 山西中交建设工程招标有限公司网站/seo外包服务方案
  • 国外网站 国内做镜像/深圳做网站seo
  • 网站建设分站要备案/重庆网站推广联系方式
  • 郓城做网站公司/网站为什么要做seo
  • 莲都区建设局网站/平台推广是什么意思
  • 广州企业网站公司/凡科网免费建站官网
  • 廊坊做网站厂商定制/竞价培训课程
  • 合肥seo推广百家号/2022年seo还值得做吗
  • 网站建设实训报告建议和其他/苏州seo营销