起因
大家都说写博客是一个很好的学习方式。我也深表认同,因为想要写出有质量的博客而不是一味的拷贝,是需要现有深度学习的过程。写博客恰恰是一个很好的切入点,可以通过输出的需求反向逼迫自己去学习。
之前也在其他平台写过几篇文章,最后不了了之。思索一番,总结下来就是我在写博客时并没有付出多少成本,让我在心里上并不重视。所以决定自建网站的方式提升我博客的建立成本,让我的博客贵重起来。
随着一个初始成本投入进去后,中途任何的放弃就意味着之前的一切都付诸东流。以此迫使自己把博客更好更长久的办下去。
资源准备
自建博客网站,本质上还是搭建一个 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
博客工具的使用就自己摸索,基本操作一样,也都有相应的引导学习。
备案
再国内是有要求网站做相应的备案,并且大多数云服务器厂商都有要求备案后才能访问网站。所以选择云服务器厂商要注意了。并不是东西准备好了就可以访问了。