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

云服务器部署Gin+gorm 项目 demo

更多个人笔记见:
注意点击“继续”,而不是“发现新项目”
github个人笔记仓库 https://github.com/ZHLOVEYY/IT_note
gitee 个人笔记仓库 https://gitee.com/harryhack/it_note
个人学习,学习过程中还会不断补充~ (后续会更新在github上)

gitee项目地址(失效了去我的笔记仓库具体看~):https://gitee.com/harryhack/it_note/tree/main/%E5%90%8E%E7%AB%AF%E7%AC%94%E8%AE%B0/%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%83%A8%E7%BD%B2%E7%9B%B8%E5%85%B3

腾讯云文档

本地测试

docker 中的 exec 检查mysql -u user -p ,用于检查本地的是否 ok (数据库情况)
注意终端中操作需要 docker exec it 加在指令前面
docker exec -it <容器名称或ID> /bin/bash 结合 sql 自己查

本地的docker-compose up --build 可以运行起来说明就是完全 ok 的

安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose  # 增加权限查看版本
docker --version   # centos9 腾讯云上自带的
docker-compose --version
配置密钥
  • 在控制台设置密钥,会自动下载文件到本地
  • cp ~/Downloads/1234.pem ~/.ssh/ 复制密钥到专门的 ssh 文件夹(部分人可能没创建过)

https://cloud.tencent.com/document/product/1207/44643 ssh 连接

  • chmod 600 ~/.ssh/1234.pem 记得添加权限,不然会认定为不安全
传输和解压

tar -czvf gin-mysql-demo.tar.gz . 本地进行文件压缩

  • scp 上传似乎有问题,scp gin-mysql-demo.tar.gz root@<服务器公网IP>:/root/
    好像没有开启,不过腾讯云的界面中,直接上传是可以的,更加方便 (一个电脑的图标)

  • root 下有一个mydemo_ginsql.tar.gz 压缩文件,该怎么新建一个文件夹然后解压进去:
    (千万别直接解压不然都跑出来了)

mkdir -p mydemo_ginsql
ls -al  #查看
tar -zxvf ./mydemo_ginsql.tar.gz -C ./mydemo_ginsql
安装 GO

为了 docker 中 go mod 下载更快 -> 设置 goproxy->需要安装 go

  • 为 dnf 配置源
sudo sed -i 's|mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-*
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tencent.com/centos|g' /etc/yum.repos.d/CentOS-*
sudo dnf clean all
sudo dnf makecache
  • 下载 golang
sudo dnf install golang
  • 设置相关环境
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc # 添加环境变量
source ~/.bashrc  
go env -w GOPROXY=https://proxy.golang.com.cn,direct # 添加代理
  • 发现原来需要在 docker 中配置相关的 goproxy! 因为是在容器中进行的,而不是本地,本地自己配置过终端代理所以 docker 中也可以很快
    • 这里可以看我的代码中
启动服务

dockerfile 中添加 env!!

# 设置 GOPROXY 环境变量!!!
ARG GOPROXY
ENV GOPROXY=${GOPROXY:-https://mirrors.tencent.com/go/,direct}
ENV GO111MODULE=on

看看代码,我是改好了的
接着 docker-compose up --build

连接测试
curl -v http://localhost:8080/users # 测试连接
sudo iptables -L -n | grep 8080 | grep 8080 # 测试防火墙
  • 注意,腾讯云的服务器需要你自己设置端口开放,自己添加 8080 端口设置规则!!!! (除了本地的防火墙系统中的关闭以外)

  • 接着就可以愉快的测试了!
    http://你的公网ip:8080/users GET和 POST 轮流测试

  • 测试完记得及时关闭端口!保证安全性

补充(不需要看):
  • 更新软件包
sudo dnf update -y
sudo dnf upgrade -y
sudo dnf install -y vim wget curl git zip unzip
  • 防火墙和端口相关
# 安装防火墙
sudo dnf install -y firewalld# 启动防火墙并设置开机自启
sudo systemctl start firewalld
sudo systemctl enable firewalld# 开放常用端口(根据需要调整)
sudo firewall-cmd --permanent --add-port=22/tcp    # SSH
sudo firewall-cmd --permanent --add-port=80/tcp    # HTTP
sudo firewall-cmd --permanent --add-port=443/tcp   # HTTPS
sudo firewall-cmd --reload
http://www.lryc.cn/news/2399128.html

相关文章:

  • MySQL数据一致性守护者:pt-table-checksum原理与实战全解析
  • 检索器组件深入学习与使用技巧 BaseRetriever 检索器基类
  • Unity——QFramework工具 AciontKit时序动作执行系统
  • 【Doris基础】Doris中的Replica详解:Replica原理、架构
  • 【中国·广州】第三届信号处理与智能计算国际学术会议 (SPIC2025) 即将开启
  • Android12 Launcher3显示所有应用列表
  • 24.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--认证微服务
  • 基于React Native开发鸿蒙新闻类应用的实战开发笔记
  • [Java 基础]运算符,将盒子套起来
  • 智能快递地址解析接口如何用PHP调用?
  • 华为OD机试真题——模拟消息队列(2025B卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
  • c# 显示正在运行的线程数
  • MySQL 日志数据同步的详细教程
  • 2025 Java面试大全技术文章(面试题1)
  • docker 中 什么是「卷」?(Volume)
  • 三维可视化和实时数据处理对前端性能要求以及优化渲染效率
  • 基于VU37P的高性能采集板卡
  • 2025-05-31 Python深度学习10——模型训练流程
  • 卷积神经网络(CNN)、YOLO和人脸识别之间的关系
  • K8S StatefulSet 快速开始
  • 重新测试deepseek Jakarta EE 10编程能力
  • nav2笔记-250603
  • 指纹识别+精准化POC攻击
  • LeetCode[404]左叶子之和
  • mac环境下的python、pycharm和pip安装使用
  • C语言多级指针深度解析:从一级到三级的奥秘
  • uni-app学习笔记十九--pages.json全局样式globalStyle设置
  • BUUCTF[极客大挑战 2019]Havefun 1题解
  • 【基础】Unity中Camera组件知识点
  • Tomcat优化篇