Vue3+Go 全栈项目上线阿里云|从 0 到 1 踩坑全纪录

前端 + 后端 + 数据库 + Nginx + 服务器部署一条龙实战新手也能跟着做完的真实全栈项目

前端效果:

server日志:

目录导航

一、项目概览

这是一个完整的前后端分离用户管理系统 ,代码由AI生成、无冗余框架、无黑盒依赖,是入门全栈的练手项目。

建议去阿里云申请服务器,有免费的试用期;

后端(Go + Gin)

  • 框架: Gin v1.12.0 + GORM v1.30.0 + MySQL
  • 认证: JWT(HS256,24h 有效期)+ Argon2id 密码哈希

前端(Vue 3)

  • 技术栈: Vue 3 + Vite 5 + Pinia + Vue Router + Axios + ECharts
  • 开发端口: 5173,代理 /api 到后端 8080
  • 5个页面: 登录、注册、首页(ECharts 数据看板)、个人信息、编辑信息
  • UI: 自定义 CSS,深色侧边栏 + 蓝色主题,中文界面

真正做到:前端能看、后端能跑、数据库能存、服务器能上!

二、项目架构设计

复制代码
用户 → 80 端口 Nginx 
      ├─ / → 前端页面(Vue dist) 
      └─ /api/* → 转发 Go 后端 8080 端口 Go 后端 → 操作 MySQL 

80 端口 = 网页

8080 端口 = API 接口

四、后端(Go)功能说明

整个后端**仅一个 main.go ** ,结构清晰、逻辑简单,非常适合新手学习。

API 接口列表

表格

方法 路径 功能 认证
POST /api/user/register 用户注册 否
POST /api/user/login 用户登录 否
GET /api/user/info 获取当前用户信息 是
PUT /api/user/update 更新用户信息 是
GET /api/user/stats 注册 / 登录趋势统计 是

数据库

库名:testdb表:

  • users 用户表
  • user_logins 登录记录表

附带 seed.sql 种子数据,可直接导入演示。

五、前端(Vue3)功能说明

  • 登录页面
  • 注册页面
  • 首页数据看板(ECharts)
  • 个人信息页面
  • 信息编辑页面

开发端口:5173

API 自动代理:/api → 后端 8080

六、项目文件结构

复制代码
go-api/
├── main.go          # Go 后端核心(522行)
├── go.mod
├── go.sum
├── seed.sql         # 数据库种子数据
├── go-api           # 编译文件
└── frontend/        # Vue 3 前端
    ├── src/
    │   ├── views/   # 5 个页面
    │   ├── stores/  # Pinia 状态
    │   └── router/  # 路由
    └── vite.config.js

七、阿里云服务器三大天坑

坑 1:安全组没开 80 / 8080 → 外网永远访问不了

阿里云默认关闭所有端口!必须手动开放:

  • 80
  • 8080

坑 2:Linux 防火墙拦截端口

放开网页、server的端口;

复制代码
ufw allow 80
ufw allow 8080
ufw reload

坑 3:低配服务器(1 核 1G)编译 Go 直接卡死

这个坑 99% 新手都会踩! 阿里云免费版本资源少,使用go run main.go编译会卡死。 应该先编译再运行!

复制代码
GOMEMLIMIT=512MiB go build -gcflags=all=-l -o server main.go

八、Nginx 最终正确配置(解决所有 405 / 500)

前端、server、mysql部署在同一台机器。

复制代码
server { 
    listen 80; 
    root /var/www/dist;
    index index.html; 
    
    location / { 
        try_files $uri $uri/ /index.html;
    } 
    
    location /api/ { 
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host; 
        proxy_set_header X-Real-IP $remote_addr; 
    }
}

九、最终效果

线上地址

http://121.199.59.229

功能全部正常:

  • 注册 ✅
  • 登录 ✅
  • 个人信息 ✅
  • 数据统计 ✅
  • 修改信息 ✅

十、收获与总结

半天时间,搭建demo熟悉了后端流程及使用的中间件:前端 → 后端 → 数据库 → Nginx → 阿里云部署 → 问题排查 → 上线成功

AI工具:豆包、Cipilot

希望这篇文章能帮助每一个正在入门全栈的你。

相关推荐
andyweike1 小时前
php笔记
开发语言·笔记·php
Circ.2 小时前
Python 调试 Litellm 本地大模型接口:模型列表与对话接口实操踩坑记录
开发语言·python
现任明教教主~4 小时前
Thinkphp站群蜘蛛池SaaS系统YanyvSEO含多用户/积分/六大引擎计费/易支付对接
java·开发语言·spring
Zhou1411364 小时前
SpringSecurity_02_授权与高级功能
开发语言·python
码匠许师傅5 小时前
【C++三方组件】cpp-httplib:一个头文件起 HTTP 服务
开发语言·c++·http
小小小小钰儿6 小时前
1.5-Python网络编程
开发语言·网络·python·web安全·计算机·网络安全
hiahiahia1236 小时前
实现完整 Tool Dispatcher
开发语言·前端
AC赳赳老秦7 小时前
公开音频转写信息提取:OpenClaw 处理发布会与听证会文本并提取核心决策信息
大数据·开发语言·汇编·数据库·人工智能·deepseek·openclaw