搭建个人博客的历程

发表于 2022-12-10

起因

大家都说写博客是一个很好的学习方式。我也深表认同,因为想要写出有质量的博客而不是一味的拷贝,是需要现有深度学习的过程。写博客恰恰是一个很好的切入点,可以通过输出的需求反向逼迫自己去学习。

资源准备

自建博客网站,本质上还是搭建一个 Web 网站。所以需要准备的东西主要是网站选型定位等多个因素共同决定的。接下来逐步说明我的一个选择过程。

域名

网站被访问的入口也是万维网上的身份名片,可以说是比较重要的。当然这个重要是相对的,例如你需要在国内做 SEO 或者你需要一个有特殊寓意的名称等等,这些都是在选择域名时需要考虑的问题。

在国内域名注册商也有不少,最常见的就是阿里、腾讯系的,也有一些其他的我就不列举了。我选了一个我还满意的作为我的域名:devnolo.com 有兴趣可以来逛逛。

服务器

网站需要一个容器,这个容器就是服务器,一个拥有公网 IP 的服务器。固定的公网 IP 后续在备案过程中会用到,不备案的可以使用家用动态 IP 做 DDNS 都是可行的。

国内的云服务器厂商基本都要求网站备案才能访问,不想备案的就不要考虑了。

我选择的是云服务器,我就说说选择服务器的一些点。服务器有两个重要的点,第一个是服务器的硬件资源如:CPU、内存、磁盘,这个限制了网站的处理能力;第二个是带宽资源,这个限制了网站访问的数据流量。

  • 选择硬件资源时需要考虑的点
    • 考虑是做静态 Web 还是动态的。动态的需要的 CPU 和内存资源更多,当然价格同样也更贵。
    • 一台服务器是否还有其他用途,是否需要购买多余的算力。如果需要可以适当加配。
    • 访问量要根据静态和动态分开评估,同样时动态需要的资源更多。当然初期不考虑这个问题。
  • 选择带宽时需要考虑的点
    • 带宽是买流量还是月租。流量需要预防恶意攻击,造成额外流量费用。
    • 访问量有多大,会形成多大的访问流量。不用太过注重,后期有访问量可以再增加带宽

最后说一下我购买的配置,不建议初建网站以此做参考。

  • CPU:2核
  • 内存:2G
  • 磁盘:50G
  • 带宽:2M 月租

博客工具

我所知道的博客工具有 WordPress、B3log Solo、Hexo 等等。我这里选择了 Solo,因为我最初的打算是做静态网站,而 Solo 既可以生成静态网站也可以做动态,满足我的初始需求。后期有时间或者有新需求再折腾其他的。

现在安装博客工具已经简化了很多了。随着容器化技术的发展,几乎主流的博客工具都支持 Docker 等容器一键化部署,不再受裸金属的部署困扰。

B3log Solo 的 Docker 安装在这里简单说两句。我使用的是 docker-compose,docker 和 docker-compose 的安装就不展开讲了,后期可能会整理笔记出来。我用的镜像是 b3log/solo,docker-compose 的 yml 示例如下:

version: '3.6'
services:
  solo:
    image: 'b3log/solo'
    restart: 'always'
    container_name: 'solo'
    environment:
      RUNTIME_DB: 'MYSQL'
      JDBC_USERNAME: 'solo'
      JDBC_PASSWORD: '123456'
      JDBC_DRIVER: 'com.mysql.cj.jdbc.Driver'
      JDBC_URL: 'jdbc:mysql://192.168.1.100:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC'
    ports:
      - '8080:8080'
    volumes:
      - /solo/solo:/opt/solo

博客工具的使用就自己摸索,基本操作一样,也都有相应的引导学习。

备案

再国内是有要求网站做相应的备案,并且大多数云服务器厂商都有要求备案后才能访问网站。所以选择云服务器厂商要注意了。并不是东西准备好了就可以访问了。

网站备案

前期的准备工作很快就能完成,相对而言网站备案所需要等待的时间会更长一些。在等待过程中总是怀着期待与忐忑的心情。

网站备案在国内做网站是必须的,为了防止在网上从事非法的网站经营活动,打击不良互联网信息的传播,如果网站不备案的话,很有可能被查处以后关停。所以在国内备案还是很有必要的。

网站备案在云服务器厂商有引导服务,所以目前我说的流程仅作为参考。根据引导简单填写网站名词及个人信息就能提交申请,厂商会进行第一次审核,有问题会电话联系并帮助改正。当然避免垃圾电话,厂商会声明他们的电话开头是什么,这些可以放心接听。

提交至工信部 ICP 备案成功后,会有一个 24 小时内需要完成的核验。之后就等待短信、邮件通知你审核通过,并且会要求将备案号添加到网站底部并连接到备案查询网站。

公安备案

公安备案也是类似的,想到于到系统中登记一下,这个网站是属于谁的,由谁负责。而且网站关闭也是需要来做一次注销操作。

至此,网站应该说是完全可以访问了。

部署服务

部署工作可以在备案的过程中完成,唯一的问题就是以为未完成网站备案就是不能访问。

部署工作不在这里详说,使用动态网站的工具一般自带 Nginx、Tomcat 等 Web 容器。但是选用静态网站就需要自己部署 Web 容器,像我就是使用的 Nginx 做为静态网站的 Web 容器。

我们都知道现在比较热门的 HTTPS 服务是收费的,同样也有免费的服务。只是有一定的限制,云服务器厂商或者三方 HTTPS 服务商都有相应的提供。