实不相瞒,上个月我一直在折腾一个教程网站,本来想着把内容搞的丰富点,各方面都齐全一点,再公布给大家,这样大家也可以在上边系统性的学习。其实内容弄的差不多了,就剩把 HTTP 转成 HTTPS 了。但就是这最后一步,不仅没搞定,还把已经搭好的网站搞挂了。后来发现数据库丢了,自己也没备份,心里哇凉哇凉的,难受了一整天。

这里我就讲讲自己从建站到崩溃的全过程吧。大家引以为戒。

建站初衷

其实这不是第一次建站了,在大学开始就有搭建过自己的博客网站,有用过 GitHub Pages 这种静态网站,也有自己购买服务器,用开源的博客平台自己搭建。

这些博客网站现在还在,但因为内容比较杂,也没有做搜索引擎优化,访问量非常低,自己也没有更新的动力,以至于后来就断更了。

后来想了想,本质上是对自己要做的事,没有清晰的定位和目标,所以才会得过且过,不了了之。

提出问题比解决问题更重要。意识到自己的问题后,我就开始思考自己的定位和目标,慢慢的就形成了自己的思路。

自己从大学开始接触 Java,毕业之后也走上了 Java 程序员的职业道路,所在的公司 Java 技术和文化又都比较厉害。

在这个过程中,我积累了不少 Java 相关的技术知识以及程序员这个岗位上的职场经验,我可以把他们分享出来,让更多从事 Java 开发的朋友们看到,如果能对这些朋友产生帮助,那就是我做这件事的价值所在。

做这件事最好的载体,还是要有自己的网站。这样足够灵活,完全由自己控制内容的呈现形式,也不用受某个具体平台的约束。

内容组织上我的一个原则就是系统化。过去自己的博客网站看上去比较杂,就是不够系统化,也缺乏重点。这次想要做的系统化一些,这样用户学习一块内容的时候,更有沉浸感,收获感也更多一些。系统化学习,成长会快很多。

但我不想只有自己一个人贡献内容,更想要的是一个互动交流,共同成长的一个环境氛围。毕竟一个人走得快,一群人走得会更远

这样定位就有了,我要建一个 Java 程序员成长社区。

那我的建站目标就是,能够成为优质的 Java 程序员成长社区网站,有更多的人可以参与到这个网站中学习和交流。

凡事凡物都要有个名字,来表达它是什么。我也给我的这个站点起了个名字:Java for You。为你而建的 Java 程序员成长社区,欢迎你的到来,让这个小破站越来越好。

注册域名

一个网站的名片是它的域名。短小好记的域名更容易被记住和传播,像 qq.com、baidu.com、alibaba.com,基本上过目不忘。

基于网站名,我想到了 java4u.com 这个域名,但无奈已经被人注册过了,就申请了 java4u.cn 这个域名。

image.png
你看,域名我在去年 12 月就申请好了。申请之后发现还比 com 的域名少一个字符,更加短小精悍了呢,这个域名我比较满意。

购买服务器

起初,我是通过 GitHub Pages + Hexo 的方式搭建静态博客,并且配置 CNAME 到 java4u.cn 这个域名下面。

后来觉得静态博客的发挥空间太有限了,搜索引擎优化也不够理想。后来调研到 WorldPress 在 SEO 方面做的很好,刚好赶上腾讯云服务器优惠,就下单了 1C2G 的服务器,它支持安装 WorldPress 的镜像。

image.png
屏幕快照 2021-05-09 上午12.10.56.png

镜像安装好后,用服务器公网 IP 访问,会进入 WorldPress 为你生成的默认主题的 Hello World 文章详情页。

屏幕快照 2021-05-09 上午12.18.00.png

域名备案

如果想通过域名访问,国内的服务器必须对域名进行备案。我的服务器在腾讯云买的,所以直接走腾讯云的备案平台完成了备案。审核周期两周左右。

屏幕快照 2021-05-07 上午12.41.19.png

主题搭建

在等待域名备案的过程中,我觉得 WorldPress 的默认主题太难看了,并且不符合一个偏向教程分享的网站风格,于是开始寻找比较合适的主题。我发现良许大佬的 Linux 教程网(lxlinux.net)做的不错,就去请教了下主题怎么搞的,得知是在主题巴巴这个网站买的。我看了下,的确有不少不错的主题,于是狠心掏腰包买了一份。

image.png

然后就开始按照主题教程,完善主题的内容。同时发布很多篇技术文章,进行分类,配合首页的搭建。后来就基本成型,内容丰富了很多。在域名备案通过后,通过 http://java4u.cn 就可以访问里边的内容了。

image.png

搜索优化

搭建网站肯定希望发布的内容被更多人看到,那么一个重要的流量来源就是搜索引擎。我们网站的内容如何更快更好的被搜索引擎识别到,并提升站点的曝光,这里就涉及 SEO(搜索引擎优化)了。

WorldPress 很强大,它能够集成很多插件。经过调研,我选取了 Rank Math SEO 插件,它功能强大,并且免费。

屏幕快照 2021-05-09 上午12.37.15.png

然后我针对之前在 WorldPress 上发布的每一篇文章都重新编辑,进行了 SEO。后台可以看到打分,超过 80 分会显示绿色,表示优化的还不错。

image.png

效果是有的,就是在谷歌、百度这些搜索引擎可以搜到我站点的文章了。

接入 HTTPS

到目前为止,网站就可以使用了,并且新发布的文章会自动被搜索引擎收录。唯一美中不足的就是,目前只能通过 HTTP 访问,那这种访问方式,浏览器就会提示不安全。这样会降低用户对网站的信任感,对于网站数据的传输也难以保障安全。

image.png

另外,使用 HTTPS 的网站能获得搜索引擎优化和更高的排名。

基于此,我就着手接入 HTTPS 这件事了。

申请 SSL 证书

接入 HTTPS,需要安装 SSL 证书。调研到 WorldPress 的一个插件——WP Encryption,可以安装免费证书。

然后就试了,结果发现不行。

屏幕快照 2021-05-09 下午4.18.07.png

看提示,或许是我买的腾讯云服务器不支持三方 SSL。那既然不支持,我就用腾讯云提供的呗。

到了腾讯云后台,发现他还真有提供 SSL 证书服务,可以免费使用一年,于是我进行了订购。

image.png

证书需要绑定域名,当天就能签发,可以下载获取证书信息。
屏幕快照 2021-05-09 下午4.28.44.png

安装 SSL 证书

证书下载好,需要安装到服务器上。

屏幕快照 2021-05-09 下午4.25.29.png

我参考了腾讯云的最佳实践。

image.png

就选择了宝塔面板 SSL 证书安装的方式。但这种方式必须首先要安装宝塔面板,于是我就去装了。

image.png

但这个面板装之后,进入 SSL 证书页面前老是提示我装 LNMP 软件,不然就卡主了,然后我就点了安装。

数据库丢失

等我回过神来,进入我的网站 java4u.cn,发现报以下错误。

屏幕快照 2021-05-08 上午9.02.07.png

我登录服务器连接了下数据库,就发现镜像默认生成的数据库(库名叫:worldpress)就没了。我意识到刚才 LAMP 软件的下载可能把现有的软件和数据都覆盖掉了。

影响就是网站直接瘫痪,并且我没有做备份,什么都没了。在没之前,我花了两个多星期的日日夜夜,为这个网站完善主题设置,编辑教程文章,做网站 SEO 优化,而如今,灰飞烟灭。

心态崩溃

确认无法挽回的刹那,我难受极了,什么都不想做。恨自己为什么没备份,为什么会操作不当,自己真的太蠢了,一度怀疑自己最近是倒霉运不断,还是自己太无能了,一些简单的问题都搞不定。那一刻,我不知所措了。代价有多深,内心有多痛。

但转念一想,最不济就是网站内容完善从头开始呗,一个星期总够了吧,毕竟不会像第一次那么生疏了。这玩意没有伤害别人,无需承受内心的自责,也没有规模化,不存在利益上的损失,最多也就是增加我的时间成本。但这也正是我要为自己犯的错误所付出的代价。

人生最大的事,莫过于生死。这等小事,好听点的说法叫和解,那么难听点的说法叫认命。还是认命吧,有很多时刻,我们就是要为自己的蠢笨买单。能怎样呢?唯一要保证的就是,我们要活下去,争取不再蠢笨的机会。

至于恢复后的网站,过几天再见。


我建站的一些信息:

域名:java4u.cn
服务器:腾讯云,1C2G,首年 99 元
博客引擎:Worldpress
博客主题:主题巴巴-大媒体