准备工作:
搭建前后端,和完成自动部署至远程服务器
1.前端部分
使用umi框架快速搭建项目,由于之前经常使用React,所以本次选择AntDesign开发
可以简单分析下umi的文件树中主要文件:
- .husky用来自动部署服务器
- .umirc.ts用来配置路由
- src
- services存放请求函数
- pages存放网页
- components存放公用组件
- app.ts存放Layout全局组件
所出现的错误
1.cygpath: command not found” when commiting to branch
将Git\usr\bin\cygpath.exe放到<% HOME %>\AppData\Local\GitHubDesktop\app-3.1.2\resources\app\git\usr\bin即可
分析Git使用resource的cygpath程序时,未找到而报错2.husky - commit-msg hook exited with code 1 (error)
第一次commit的时候,使用git commit “fix: ····”即可解决
在搭建前端项目后,就可以上服务器部署啦!
大致思路为:前端先生成部署文件,自己手动部署,用nginx做代理服务器
下列是我所配置的.conf内容
1 |
|
nginx服务器监听10086端口,使用根目录文件为TroForum
这样就完成项目的前端基础搭建与部署啦
2.后端部分
采用kotlin+Gradle+SpringBoot进行开发,因为kotlin与java使用的JVM一样,就不用再配置其他环境了
可以去Spring initializr自动生成
首先我们配置Gradle:
1 |
|
配置插件,jvm,spring,springBoot框架这些都配上
1 |
|
表明模块与版本,和java使用版本,和使用mavenCentral()为使用的配置仓库
1 |
|
配置依赖,依赖可以在 mvnrepository.com 查找
配置好后即可构建项目啦,成功就成功了
构建项目好后就可以写配置文件了
1 |
|
port表示端口, context-path用来nginx分发
接下来配置nginx
1 |
|
接下来就可以部署啦!
跟前端一样,先手动部署,用nohup指令
这样就完成后端的构建与部署啦~
3.数据库部分
大致流程:
在创建数据库后,进入数据库,把user中目标账号的host改为%,该账号即可面向所有ip连接,
后再将配置信息中bind_address改为0.0.0.0即可
在gradle的依赖里添加:
- spring-boot-starter-jdbc
- mysql-connector-java
- mybatis-plus-boot-starter
在配置文件里添加一下信息这样数据库部分也好啦,就可以开始写项目啦!1
2
3
4
5
6spring:
datasource:
url: jdbc:mysql://XXXXXXXX:3306/TroForum?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8
username: XXX
password: XXXXXX
driver-class-name: com.mysql.jdbc.Driver