基于JFinal从零开始搭建个人博客站

    大概在2016年7月份,在看别人的个人博客系统时,脑子里产生了一个想法,作为程序员出身,为什么不自己开发一个博客系统,检验并锻炼下自己的编程水平,就这样一言不合就开始了开发个人博客系统不归之路,好在最后小有成果青菜萝卜胡丁程序员技术分享博客,没有留下遗憾。


    闲话少说,下面开始谈谈我是如何从零开始搭建个人博客系统的,主要的工作有以下几个方面:

  1. 注册域名

  2. 购买主机

  3. 域名解析

  4. 域名备案

  5. 系统开发

  6. 系统部署

注册域名

国内的域名服务提供商比较靠谱的阿里云的万网(域名注册_虚拟主机_云服务器_企业邮箱-万网-阿里云旗下品牌),腾讯云的新网(域名注册 - 腾讯云)等。我是在阿里云的万网上注册了一个域名huding.name。

购买主机

因为之前做项目的时候使用过阿里云的主机,对阿里云的印象还是蛮好的,所以我开始打算使用阿里云的,但是后来发现太贵了,学生党实在负担不起。后来发现腾讯云推出了学生机(云+校园计划 - 腾讯云,值得信赖),每个月只需1元。虽然阿里云也有学生机,但是申请过程较为麻烦,而且费用也比腾讯云贵,因此果断选择腾讯云。

域名解析

域名解析主要是在域名服务提供商那里将自己注册的域名解析到主机的IP地址。写到这里我就笑了,我居然已经使用国内互联网三大巨头中两家提供的服务了,即使用了阿里的域名服务和腾讯云的主机服务。还有更可笑的是,我后面为了方便统计访客数,又使用了百度的百度统计,我也是跪了这次,第一次搞一个简单的博客系统就使用了BAT三巨头的不同服务。

域名备案

域名备案主要是主机服务提供商那里提交材料进行域名备案,至于怎么备案,主机服务提供商都会提供详细的教程的。PS:只要是在中国大陆的主机都要备案才能正常访问。

系统开发

做好前面的准备的开发工作后,我就开始进行实际的代码开发了。我本身对Java比较熟悉点,因此使用Java作为后端开发语言,前端开发语言为:html,js,css等。由于我的前端水平不高,让我从头开始编写代码,不知道要写到猴年马月去了。因此我就找了几款框架,在框架的基础上进行开发,能够达到事半功倍的效果。这几款框架分别是:

  1. Java框架:jfinal

  2. 前端框架:amazeui(中国首个开源 HTML5 跨屏前端框架),layui(链接为:layui - 经典模块化前端框架)。使用amazeui的特性实现屏幕适配,自适应屏幕。使用layui的特性实现前端脚本处理逻辑,实现与后台的交互。

开发方式采用的是前后端完全分离的开发方式,即Java实现的服务器端仅响应JSON格式的数据,前端完全由html组成。同时,我借助Nginx服务器实现连接前端和后端,实现前后端通信。

最终的开发出来的博客系统的界面效果如下所示:

  1. PC端效果

    v2-e2d9f45b301be8e24fec334f8a6a789b_b.png

  2. 移动端效果


Screenshot_2017-02-14-22-12-36-144.png

  1. 后台管理系统

v2-9876d4b66c7b0556cb4911e38cfbce7f_b.png

系统部署

这部分暂略。大体上是在服务器端安装JDK,Nginx,Tomcat等相关部署软件,设置相应的配置后,将自己开发的系统部署到相应的目录下就好了。

结束语

最终经过自己不断地捣鼓,我的个人博客:青菜萝卜胡丁程序员技术分享博客,最终在2017年2月10日上线了,。虽然我的代码写的不是很好,但本着开源精神,我将这个博客系统的代码开源在GitHub上了,链接为:个人博客系统(青菜萝卜胡丁程序员技术分享博客)。有需要的童鞋可以到这里去下载。


本地运行的简单方式,可以参考我的博文:

http://www.huding.name/B20170221204319.html


评论区

JFinal

2017-02-15 16:49

第一次有这样从注册域名到上线项目的完整过程分享,并且项目也开源了,强烈建议有需要的朋友收藏一下该分享,感谢分享

SillyBoy

2017-02-15 20:14

@JFinal 感谢詹总的支持啊

Dreamlu

2017-02-16 09:29

很赞!确实学习一门技术最快最有效的方式就是实战。

SillyBoy

2017-02-16 09:45

@Dreamlu 是的啊,我在搞这个系统前对前端基本不会,现在基本掌握了前端的基础,能写一些简单的页面和样式

happyboy

2017-02-16 10:21

一旦开源,注意安全风险。O(∩_∩)O

c_bai

2017-02-16 10:28

刚接触JFinal不久,我也想搭建一个个人博客学习下,向楼主学习。

SillyBoy

2017-02-16 10:31

@happyboy 谢谢提醒啊,小弟在安全方面的比较薄弱,对于刚刚才捣鼓出来的东西,不知道从何下手,还望给个建议啊!

happyboy

2017-02-16 11:20

@SillyBoy 第一要做的就是隐藏好你的后台登录地址,开源后一些关键信息你得屏蔽,让大家知道你的思路就行了。http://www.huding.name/back/login.html,虽然加了验证码,但是不能保证万无一失。

SillyBoy

2017-02-16 12:13

@happyboy 好的,谢谢啊

JFinal

2017-02-16 13:32

@happyboy @SillyBoy jfinal-club 项目后台登录做得更彻底,压根就没有,最大化提升了安全性

Irin.Chan

2017-02-16 13:58

腾讯云和阿里云都在去年7月同时提醒我学生认证过期了。现在只能用openshift,有谁推荐一下其它云服务器吗?

JFinal

2017-02-16 14:53

@Irin.Chan 强烈建议使用阿里云,非常稳定可靠,买最便宜那款每年才几百块钱

SillyBoy

2017-02-16 15:46

@JFinal 对于我这种穷学生目前只能使用学生机了,等明年工作了,再换个好点的配置

SillyBoy

2017-02-16 15:48

@Irin.Chan 有经济实力的话,还是花点钱买个阿里云主机吧

ppyjk

2017-02-16 19:33

感谢分享 正在学习中...

ppyjk

2017-02-16 19:38

@jfinal aliyun 一个月最低要65, 一年65*12= ¥780 对于个人开发者,只是测试 调试划不来, 一年两三百的还可以接受。
问题是我不是学生 @SillyBoy

SillyBoy

2017-02-16 20:21

Irin.Chan

2017-02-17 09:08

@SillyBoy 感觉可以。

happyboy

2017-02-17 16:00

@JFinal 我觉得后台压根别上线才是最安全的,但是那样的话维护起来不方便,每次只能从本地维护。目前个人线上也跑着一个博客,对后台的处理是,后台路径带有一个很长的字符串,你如果不传递就给你404,而且这个字符串可以随时调整。

SillyBoy

2017-02-17 16:50

@happyboy Mark一下,后面有时间在捣鼓下这方便的东西!

getthem

2017-02-24 17:14

@SillyBoy 怎么首页出不来,说是请求异常,后台验证码出不来,静态化目录怎样设置路径,这个STATICS_ROOT_PATH = /Users/jianhonghu/gitRepository/GitHub/blog/qingcai-fron

SillyBoy

2017-02-24 21:44

@getthem 加这个群545418785来交流下

getthem

2017-02-26 22:08

@SillyBoy 验证码不出现的原因是/luobo/admin/validateCode既没有定义也没有在AdminRoutes中配置

绝尘

2017-02-27 12:29

jfinal+layui 组合不错

SillyBoy

2017-02-27 13:40

@getthem 在me.huding.luobo.back.MainController中定义的方法