Go语言zero项目服务恢复与迁移文档
## 一. 服务器环境配置
在迁移和配置 项目时,首先需要确保服务器环境正确配置。以下是配置步骤:
### 1. 安装 Go 语言环境
首先,确保 Go 语言环境已经安装,并且配置正确。执行以下步骤:
# 下载 Go 语言安装包
wget https://golang.google.cn/dl/go1.23.3.linux-amd64.tar.gz
# 解压安装包到 /usr/local 目录
tar -C /usr/local -xzf go1.23.3.linux-amd64.tar.gz
# 配置 Go 环境变量
vim /etc/profile.d/go.sh
# 在文件中添加以下内容
export PATH=$PATH:/usr/local/go/bin
source /etc/profile.d/go.sh
# 验证 Go 安装
go version
### 2. 安装 Nginx
确保 Nginx 已经安装并配置。执行以下命令来安装 Nginx:
# 安装 Nginx
sudo yum install -y epel-release
sudo yum install -y nginx
# 启动 Nginx 服务
sudo systemctl start nginx
sudo systemctl enable nginx
# 检查 Nginx 状态
sudo systemctl status nginx
### 3. 安装 Git 并配置阿里云 SSH
确保 Git 已经安装,并配置 SSH 密钥以便拉取代码仓库:
# 安装 Git
sudo yum install -y git
# 配置 SSH 密钥
vim ~/.netrc
# 添加以下内容,替换为你的账户和密码
machine codeup.aliyun.com
login <your_account>
password <your_password>
# 配置 Go 私有仓库访问
export GOPRIVATE=codeup.aliyun.com
# 配置 Go 镜像代理
vim ~/.bashrc
# 添加以下内容以提高依赖下载速度
export GOPROXY=https://mirrors.aliyun.com/goproxy/
export GOPRIVATE=codeup.aliyun.com
# 加载配置
source ~/.bashrc
## 二. 项目依赖配置与调试
在服务器环境配置完成后,接下来需要进行项目代码迁移及依赖配置。确保相关服务和参数正确配置,并进行调试。
### 1. 配置 MySQL
确保 MySQL 数据库已经配置好,并且可以连接到项目中。根据实际项目配置数据库连接信息。
# 配置 MySQL
mysql -u root -p
CREATE DATABASE classin;
# 在项目配置文件中配置 MySQL 数据库连接信息
### 2. 配置 Redis
配置 Redis 服务并确保可以连接。
# 安装 Redis
sudo yum install redis-server
# 启动 Redis 服务
sudo systemctl start redis-server
sudo systemctl enable redis-server
# 配置 Redis 连接信息
### 3. 配置 RabbitMQ
确保 RabbitMQ 服务已正确配置并启动
(如果用的云服务可以忽略安装与启动步骤,直接进行配置)
# 安装 RabbitMQ
sudo yum install -y rabbitmq-server
# 启动 RabbitMQ 服务
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
# 配置 RabbitMQ 连接信息
### 4. GoZero 项目代码迁移与配置
使用 Git 拉取项目代码,并在项目目录中执行相关命令进行依赖管理。
# 拉取项目代码
git pull origin main
# 清理和安装依赖
go mod tidy
# 设置代码仓库和私有依赖
vim ~/.netrc
machine codeup.aliyun.com
login <your_account>
password <your_password>
# 配置 Go 私有仓库
export GOPRIVATE=codeup.aliyun.com
### 5. 依赖服务调试与修改参数
确保依赖服务(MySQL、Redis、RabbitMQ等)能够正确连接,并修改配置文件中的相关参数。
### 6. 域名绑定与 Nginx 配置
在 Nginx 中配置项目的域名绑定和反向代理。以下是 Nginx 配置示例:
添加ssh目录和证书文件
cd /usr/local/nginx/
mkdir ssh
cd ssh/
rz meishiedu.online.pem
rz meishiedu.online.key
# 编辑 Nginx 配置文件
sudo vim /usr/local/nginx/conf/vhost/class-api.conf
# 配置反向代理
server {
listen 80;
server_name api.edu.online;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name api.edu.online;
index index.html;
ssl_certificate /usr/local/nginx/ssl/du.online.pem;
ssl_certificate_key /usr/local/nginx/ssl/edu.online.key;
location / {
proxy_pass http://127.0.0.1:8899;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# 重载 Nginx 配置
sudo systemctl reload nginx
### 7. 项目各个接口测试
确保项目中的各个接口都能够正确响应并进行基本的业务逻辑验证。可以使用工具如 Postman 或 cURL 进行接口测试。
### 8. 项目整体调试
完成基本的配置后,执行整体调试,确保项目能够正常启动并运行。检查日志文件以排查任何可能的问题。
## 三. 整体操作步骤与流程
以下是项目迁移和部署的操作步骤:
### 1. 服务器下载并安装 Go 环境
wget https://golang.google.cn/dl/go1.23.3.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.23.3.linux-amd64.tar.gz
vim /etc/profile.d/go.sh
# 添加环境变量
source /etc/profile.d/go.sh
go version
### 2. 安装 Nginx
# 安装 Nginx
sudo yum install -y epel-release
sudo yum install -y nginx
# 启动并启用 Nginx
sudo systemctl start nginx
sudo systemctl enable nginx
# 检查 Nginx 状态
sudo systemctl status nginx
### 3. 安装 Git
sudo yum install -y git
### 4. 配置 Git 拉取代码
# 拉取项目代码
git pull origin main
# 整理依赖
go mod tidy
# 配置 .netrc 文件,使用私有仓库
vim ~/.netrc
machine codeup.aliyun.com
login <your_account>
password <your_password>
### 5. 配置 Go 私有仓库
# 设置 GOPRIVATE 环境变量
export GOPRIVATE=codeup.aliyun.com
# 配置 Go 代理
export GOPROXY=https://mirrors.aliyun.com/goproxy/
### 6. 获取 SDK 并安装
# 获取某个 SDK
go get codeup.aliyun.com/61b84a04fa282c88e1039838/gosdk/titansdk
### 7. 让运维添加域名解析
联系运维团队,确保 DNS 域名解析已经配置并生效。
### 8. 配置 Nginx
根据项目需求配置 Nginx,使其能够反向代理到项目运行的端口。
### 9. 服务重新部署
项目拉去与更新
git pull
更新项目依赖
go mod tidy
使用以下 Shell 脚本部署项目:
cd /classin/script/
./build_test.sh
### 10. 访问项目并进行业务和接口测试
通过访问配置好的域名,检查项目的各项功能是否正常。使用 Postman 或 cURL 进行接口测试。
### 11. 通知业务方服务上线
确认项目已部署并且所有功能正常后,通知业务方服务已经上线。
## 总结
通过以上步骤,您可以顺利完成 Classin 项目的迁移与服务器环境配置工作。确保各项依赖服务(MySQL、Redis、OSS、RabbitMQ、SDK)配置正确,Nginx 配置无误,项目能够正常运行并通过接口测试。
原文地址:https://blog.csdn.net/qq_33665793/article/details/144722460
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!