关于搭建本博客

使用语言

  • 后端:java
  • 前端:HTML+javascript

使用框架

  • 后端:springboot+springmvc+mybatis
  • 前端:semantic ui+jQuery

模板引擎

  • thymeleaf

插件

  • 编辑器 Markdown
  • 内容排版 typo
  • 动画 animate
  • 代码高亮 prism
  • 平滑滚动 jquery.scrollTo
  • 目录生成 Tocbot
  • 分页 pageHelper
  • 音乐器 aplayer

技术点

  • 标签的多对多查询使用中间表存储blogId与tagId,将blog表、tag表、type表连接;
  • 使用resultMap的子查询解决pageHelper的一对多查询bug;
  • 评论以及留言采用递归算法查询所有子级回复,通过父子昵称进行递归;
  • 采用拦截器,拦截/admin下的session中没有user的所有请求;
  • mvc三层架构,当增加内容时,从dao层往上加,一些附加方法加在service层

细节

  • resultMap的column与sql语句中的别名对应,否则查询不到相应数据;
  • resultMap的column存在多个相同名称时会发生冲突,导致查询失败,应该使用别名来避免;
  • 推荐使用resultMap而不是resultType;
  • 在service层给所有增删改增加事务注解;
  • 当删除blog时同时删除对应的comment表下的数据,避免储存无效数据;
  • 当修改或删除blog时应同时删除中间表中的对应数据,避免存储大量重复数据或无效数据;
  • 配置文件中的数据库配置需要设置serverTimezone=Asia/Shanghai,否则数据库存储的时间比实际晚8小时;
  • 配置文件中数据库的密码应和云端的一致,否则数据库连接失败;
  • 部署网站到云服务器时,官方推荐使用jar包方式,我个人尝试了war包,发现运行程序有某些问题,比如Markdown插件的一些js,css文件无法加载,可能因为服务器的tomcat和springboot的不太一致;
  • 后台管理页面的url应与普通页面的一致,都是www开头或都是域名方式,否则,普通页面获取不到管理页面session数据;

部署云服务器

  • 设置云服务器安全组和防火墙
  • 宝塔面板需要在远程登录云端并执行相应的linux代码安装宝塔面板,并获取宝塔面板url以及初始账户信息,在宝塔面板的安全栏处开放与关闭云端的端口
  • 通过宝塔面板数据库一栏处修改数据库的root密码
  • 通过宝塔面板安全栏处设置ssh登录方式
  • 打jar包
<!-- 这里打成war包 若打jar,需将war改为jar -->
    <packaging>jar</packaging>
  • 解析域名,我选的是A类型,添加两个,分别是www @
  • 申请ssl证书,springboot选择tomcat Jks类型,并在配置文件中配置,端口选择https默认的443,这样以后不需要加端口号就能访问
server:
  port: 443
  ssl:
    key-store: classpath:证书名称
    key-store-password: xxx
    key-store-type: JKS
  • 将jar包上传到云服务器根目录,在根目录下运行终端,执行一下代码
lsof -i:443
kill <pid>
nohup java -jar xxx.jar

其中lsof查询那些进程占用了443端口,并使用kill结束改进程;使用nohup进行后台运行

我的个人网站

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值