Giter Club home page Giter Club logo

myweb01-doc's Introduction

logo

Our遇 v1.0.0

基于SpringBoot+Vue3前后端分离的个人网站

技术栈

  • Vue + ElementPlus + Echarts
  • Spring Boot + MyBatisPlus + Spring Security + Redis

内置功能

  1. 首页:首页展示页,一些数据统计
  2. 时光轴:动态展示
  3. 留言板:访客可以留言
  4. 作品集:作品集展示
  5. 公告通知
  6. 数据管理:对时光轴的动态的增删查、留言板的审核、作品集、公告通知的管理界面

在线体验

演示地址:http://www.qmeternity.cn/index

数据库设计

./02_DB_design

api文档网址

https://xiamu-ssr.github.io/MyWeb01-Doc/

运行

  1. 前置依赖
  • JDK >= 1.8 (推荐1.8版本)
  • Mysql >= 5.7.0 (推荐5.7版本)
  • Redis >= 3.0
  • Maven >= 3.0
  • Node >= 12
  1. 前端运行
# 安装依赖
yarn --registry=https://registry.npmmirror.com

# 启动服务
yarn dev

# 构建测试环境 yarn build:stage
# 构建生产环境 yarn build:prod
# 前端访问地址 http://localhost:80
  1. 后端运行 IDEA开箱即用

部署

在/root下新建一个MyWeb01文件夹,用来存放本次项目所有docker脚本和映射资源

  1. 服务器启动依赖容器-Redis
#!/bin/bash

containerName="MyWeb01-Redis"
RedisData="/root/MyWeb01/Redis/data"

docker run  -d --name "$containerName" \
            -v "$RedisData":/data \
            -p 6379:6379 \
            redis
  1. 服务器启动依赖容器-Mysql
#!/bin/bash

containerName="MyWeb01-MySQL"
MySQLData="/root/MyWeb01/MySQL/data"

docker run  -d --name "$containerName" \
            -p 3306:3306 \
            -v "$MySQLData":/var/lib/mysql \
            -e MYSQL_ROOT_PASSWORD=1009 \
            mysql:8
  1. 本地修改前后端源码配置
  • 前端修改vite.config.js文件中的server.proxy.'/dev-api'.target为后端程序ip+port
  • 后端修改application-druid.ymlspring.datasource.druid.master.url中ip为同服务器的mysql的docker别名
  • 后端修改application.ymlspring.redis.host为同服务器的redis的docker别名
  • 后端修改application.ymlruoyi.profile为后台部署的docker的ruoyi自带文件保存路径
  1. 本地打包前后端源码
  • 前端执行命令行yarn build:prod
  • 后端用IDEA执行maven package
  1. 部署前端 将打包好的dist文件夹放到MyWeb01/Vue/dist 两个conf文件见./config/nginx
#!/bin/bash

containerName="MyWeb01-Vue"
nginxConf="/root/MyWeb01/Vue/nginx/nginx.conf"
defaultConf="/root/MyWeb01/Vue/nginx/default.conf"
logsPath="/root/MyWeb01/Vue/logs"
vuePath="/root/MyWeb01/Vue/dist"

docker run  -d --name "$containerName" \
            -v "$nginxConf":/etc/nginx/nginx.conf \
            -v "$defaultConf":/etc/nginx/conf.d/default.conf \
            -v "$logsPath":/var/log/nginx \
            -v "$vuePath":/usr/share/nginx/dist \
            -p 80:80 \
            nginx
  1. 部署后端 将打包好的jar包放入MyWeb01/SpringBoot/
#!/bin/bash

containerName="MyWeb01-SpringBoot"
SpringBootPath="/root/MyWeb01/SpringBoot/ruoyi-admin.jar"
imagePath="/root/MyWeb01/SpringBoot/images/"

docker run  -d --name "$containerName" \
            -p 8080:8080 \
            --link MyWeb01-MySQL:mysqldb \
            --link MyWeb01-Redis:redisdb \
            -v "$SpringBootPath":/app/your-app.jar \
            -v "$imagePath":/app/images \
            openjdk:8 java -jar /app/your-app.jar

关于备份问题

  1. 源码在Github上无需担心
  2. 数据库资源定期将docker容器打包成镜像,或者利用数据库连接工具导出数据

myweb01-doc's People

Contributors

xiamu-ssr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.