教程:go-platform:部署:部署
这是本文档旧的修订版!
部署
项目有多种部署方式
二进制文件部署
可以将各个模块编译成二进制可执行文件。
配置中心
对于统一配置中心
,可以通过如下的powershell
脚本进行打包:
在服务器上部署时,可以使用pm2脚本ecosystem.config.js
进行设置:
module.exports = { apps: [{ name: "configure", // 应用名称 script: "./configure", // 二进制文件路径 //args: "--port 8080", // 命令行参数(可选) //instances: 2, // 启动2个实例(负载均衡) autorestart: true, // 崩溃后自动重启 watch: false, // 禁用文件监视 max_memory_restart: "500M", // 内存超限后重启 env: { NODE_ENV: "production", GO_ENV: "prod" }, error_file: "./logs/err.log", // 错误日志 out_file: "./logs/out.log", // 输出日志 pid_file: "./logs/pm2.pid" // PID 文件 }] };
使用命令行启动即可:
pm2 start ecosystem.config.js
网关
对于gateway
,可以通过如下的Power Shell
脚本进行打包:
<# .SYNOPSIS 构建 Go 项目并复制配置文件到目标目录 .DESCRIPTION 此脚本将: 1. 编译 Go 项目为 Linux amd64 二进制文件 2. 复制配置文件到目标目录 3. 复制静态资源和 SQL 文件 #> # 配置参数 $Config = @{ GOOS = "linux" GOARCH = "amd64" OutputDir = ".\bin" AppName = "gateway" } # 初始化日志函数 function Write-Log { param ( [string]$Message, [string]$Level = "INFO", [string]$Color = "White" ) $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss" $formattedMessage = "[$timestamp] [$Level] $Message" Write-Host $formattedMessage -ForegroundColor $Color } # 主脚本开始 Write-Log "开始构建过程..." -Level "INFO" -Color "Cyan" # 1. 清理旧构建 try { if (Test-Path $Config.OutputDir) { Remove-Item -Path $Config.OutputDir -Recurse -Force Write-Log "已清理旧构建目录: $($Config.OutputDir)" -Level "INFO" -Color "Yellow" } New-Item -ItemType Directory -Path $Config.OutputDir -Force | Out-Null } catch { Write-Log "清理目录失败: $_" -Level "ERROR" -Color "Red" exit 1 } # 2. 设置环境变量并编译 try { $env:GOOS = $Config.GOOS $env:GOARCH = $Config.GOARCH $env:CGO_ENABLED = "0" $buildCommand = "go build -ldflags='-s -w' -o `"$($Config.OutputDir)\$($Config.AppName)`" ./cmd/gateway/main.go" Write-Log "执行编译命令: $buildCommand" -Level "DEBUG" -Color "Gray" Invoke-Expression $buildCommand Write-Log "编译成功完成" -Level "INFO" -Color "Green" Write-Log "输出路径: $(Resolve-Path $Config.OutputDir)\$($Config.AppName)" -Level "INFO" -Color "Cyan" } catch { Write-Log "编译失败: $_" -Level "ERROR" -Color "Red" exit 1 } Write-Log "所有构建步骤完成!" -Level "INFO" -Color "Cyan" exit 0
教程/go-platform/部署/部署.1751621479.txt.gz · 最后更改: 由 tom
评论