实不相瞒,上个月我一直在折腾一个教程网站,本来想着把内容搞的丰富点,各方面都齐全一点,再公布给大家,这样大家也可以在上边系统性的学习。其实内容弄的差不多了,就剩把 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 这个域名。
你看,域名我在去年 12 月就申请好了。申请之后发现还比 com 的域名少一个字符,更加短小精悍了呢,这个域名我比较满意。
购买服务器
起初,我是通过 GitHub Pages + Hexo 的方式搭建静态博客,并且配置 CNAME 到 java4u.cn 这个域名下面。
后来觉得静态博客的发挥空间太有限了,搜索引擎优化也不够理想。后来调研到 WorldPress 在 SEO 方面做的很好,刚好赶上腾讯云服务器优惠,就下单了 1C2G 的服务器,它支持安装 WorldPress 的镜像。
镜像安装好后,用服务器公网 IP 访问,会进入 WorldPress 为你生成的默认主题的 Hello World 文章详情页。
域名备案
如果想通过域名访问,国内的服务器必须对域名进行备案。我的服务器在腾讯云买的,所以直接走腾讯云的备案平台完成了备案。审核周期两周左右。
主题搭建
在等待域名备案的过程中,我觉得 WorldPress 的默认主题太难看了,并且不符合一个偏向教程分享的网站风格,于是开始寻找比较合适的主题。我发现良许大佬的 Linux 教程网(lxlinux.net)做的不错,就去请教了下主题怎么搞的,得知是在主题巴巴这个网站买的。我看了下,的确有不少不错的主题,于是狠心掏腰包买了一份。
然后就开始按照主题教程,完善主题的内容。同时发布很多篇技术文章,进行分类,配合首页的搭建。后来就基本成型,内容丰富了很多。在域名备案通过后,通过 http://java4u.cn 就可以访问里边的内容了。
搜索优化
搭建网站肯定希望发布的内容被更多人看到,那么一个重要的流量来源就是搜索引擎。我们网站的内容如何更快更好的被搜索引擎识别到,并提升站点的曝光,这里就涉及 SEO(搜索引擎优化)了。
WorldPress 很强大,它能够集成很多插件。经过调研,我选取了 Rank Math SEO 插件,它功能强大,并且免费。
然后我针对之前在 WorldPress 上发布的每一篇文章都重新编辑,进行了 SEO。后台可以看到打分,超过 80 分会显示绿色,表示优化的还不错。
效果是有的,就是在谷歌、百度这些搜索引擎可以搜到我站点的文章了。
接入 HTTPS
到目前为止,网站就可以使用了,并且新发布的文章会自动被搜索引擎收录。唯一美中不足的就是,目前只能通过 HTTP 访问,那这种访问方式,浏览器就会提示不安全。这样会降低用户对网站的信任感,对于网站数据的传输也难以保障安全。
另外,使用 HTTPS 的网站能获得搜索引擎优化和更高的排名。
基于此,我就着手接入 HTTPS 这件事了。
申请 SSL 证书
接入 HTTPS,需要安装 SSL 证书。调研到 WorldPress 的一个插件——WP Encryption,可以安装免费证书。
然后就试了,结果发现不行。
看提示,或许是我买的腾讯云服务器不支持三方 SSL。那既然不支持,我就用腾讯云提供的呗。
到了腾讯云后台,发现他还真有提供 SSL 证书服务,可以免费使用一年,于是我进行了订购。
证书需要绑定域名,当天就能签发,可以下载获取证书信息。
安装 SSL 证书
证书下载好,需要安装到服务器上。
我参考了腾讯云的最佳实践。
就选择了宝塔面板 SSL 证书安装的方式。但这种方式必须首先要安装宝塔面板,于是我就去装了。
但这个面板装之后,进入 SSL 证书页面前老是提示我装 LNMP 软件,不然就卡主了,然后我就点了安装。
数据库丢失
等我回过神来,进入我的网站 java4u.cn,发现报以下错误。
我登录服务器连接了下数据库,就发现镜像默认生成的数据库(库名叫:worldpress)就没了。我意识到刚才 LAMP 软件的下载可能把现有的软件和数据都覆盖掉了。
影响就是网站直接瘫痪,并且我没有做备份,什么都没了。在没之前,我花了两个多星期的日日夜夜,为这个网站完善主题设置,编辑教程文章,做网站 SEO 优化,而如今,灰飞烟灭。
心态崩溃
确认无法挽回的刹那,我难受极了,什么都不想做。恨自己为什么没备份,为什么会操作不当,自己真的太蠢了,一度怀疑自己最近是倒霉运不断,还是自己太无能了,一些简单的问题都搞不定。那一刻,我不知所措了。代价有多深,内心有多痛。
但转念一想,最不济就是网站内容完善从头开始呗,一个星期总够了吧,毕竟不会像第一次那么生疏了。这玩意没有伤害别人,无需承受内心的自责,也没有规模化,不存在利益上的损失,最多也就是增加我的时间成本。但这也正是我要为自己犯的错误所付出的代价。
人生最大的事,莫过于生死。这等小事,好听点的说法叫和解,那么难听点的说法叫认命。还是认命吧,有很多时刻,我们就是要为自己的蠢笨买单。能怎样呢?唯一要保证的就是,我们要活下去,争取不再蠢笨的机会。
至于恢复后的网站,过几天再见。