从零开始快速搭建独立域名的博客

Planeswalker23 2020年09月15日 共3,529字 394次浏览

你好,有幸相见。

从九月开始,我决定发起「每周一博」的目标:每周至少发布一篇博客,可以是各种源码分析研读,也可以是记录工作中遇到的难题。

在经过了一段时间漫无目的的学习之后,我发现那样用处好像不大,看过的东西过段时间就忘了,而且也没有做什么笔记。

“凡所学,必有所输出。”我认为这才是最适合我的学习方式,这也是「每周一博」活动的来由,朋友们,如果你也觉得经常会忘记以前看过的东西,一起加入这个活动吧。

这是九月的第三篇博客。


众所周知,使用 Github Pages 搭建个人博客是极为方便的,它兼有 Action 自动部署及免费资源存储的优点,但是偶尔的无法访问以及资源加载缓慢的问题还是让我对它失望了。为了解决这些问题,我萌生了要搭建独立域名的个人博客的念头。

可能有的人会说,掘金、思否、CSDN这些专注于博客的网站不是也挺好的吗,而且用户众多,保不齐你写得好能收获众多粉丝,从此走上自媒体的成功路。同时还能认识很多技术大牛,在交流和互通有无的过程中也更能提高自己。

当然确实是这样,光是自己写自己看,难免会闭门造车。如果有大佬在掘金恰巧看了你的博客,指出了错误的地方,这无疑会有很大帮助,所以我也会把自己的技术输出同步更新在掘金上。

但是个人认为,掘金并不能满足我的所有阅读需求,我希望能有自己博客的管理和归档功能,这一点CSDN和思否做得更好一些,希望掘金在以后的迭代中能加上类似的功能。

废话不多说,下面是我搭建个人博客的全过程以及遇到的一些问题,希望能帮助到大家。

1. 搭建思路

本次建站的思路是这样:关于博客后台及前端主要是基于一款优秀的开源博客发布应用——Halo,然后云服务器是基于腾讯云,域名也是在腾讯云买的,网站备案同样是在腾讯云完成。

2. 云服务器

首先要解决的是服务器的问题,没有一个在云端的服务器,就没法完成云端网站的搭建。我购买的是腾讯云针对学生推出的校园优惠套餐,配置是:1核CPU、2G内存、1Mbps带宽、50GB高性能云盘。价格可人:120元/年,完成学生认证后可享受2次购买价续费资格,相当于360元/三年。

由于我使用的是CentOS操作系统,启动之后什么都没有安装,所以首先需要安装 Java 环境。

这个就不多说了,网上示例多的是,比如用yum命令安装或者用wget命令下载安装包都可以,然后记得在/etc/profile文件中设置环境变量就可以了。

这样,简单的前期准备工作就结束了,下面就是使用开源神器 Halo 搭建博客网站。

2. 搭建博客

说是基于 Halo 搭建博客,其实是单纯的运行它的 jar 包,然后在管理后台进行操作即可。

没错,它就是那么方便。

Halo 最新版本的 jar 包可以从它的 Github Release 页面获取,建议不要使用 beta 版本,毕竟不是正式版,可能存在bug。

下载完成之后使用 scp 命令把本地的 jar 包传输到远程服务器上,如

scp 本地halo的jar位置 root@公网ip地址:/usr/local/halo

然后在远程服务器上执行 java -jar halo.1.3.2-jar 命令启动即可。

随后在浏览器中访问公网ip:8090,如果你看到下面的界面,那么恭喜,你的博客可以开始初始化了。

初始化界面

腾讯云服务器的默认安全组规则是开放所有端口的,如果后面想只开放80端口做域名映射可以用 nginx 来做转发。

在完成了博客基本信息之后,再次打开 公网ip:8090 页面,你就能看到一个非常简单的博客页面了。

初始化后的首页

接下来要干的事就是美化博客:

  • 你可以在主题仓库 - Halo页面选择你喜欢的博客主题
  • 域名:8090/admin 是博客的管理后台,在这里你可以对博客进行管理

博客管理后台

最后就是博客的迁移工作了,在管理后台中也提供了解析 Markdown 文件的小功能。

3. 购买域名

博客已经搭建完成,接下来就是域名映射了。

首先你得拥有一个域名,我在腾讯云购买的域名是1元/年。

购买完成后,在域名解析页面中选择快速添加网站/邮箱解析,然后把服务器的公网ip输入,点击完成。

域名解析

但是这时候在浏览器输入域名,回车是没法跳转到博客首页的,因为如果不输入端口号,默认访问的是80端口,这时候就需要使用 nginx 来做端口监听了。

3.1 安装 nginx

安装 nginx 的步骤可以看这篇博客:LINUX安装nginx详细步骤

3.2 配置端口监听

如果你按照默认的安装方法安装 nginx,那么它的配置文件路径是 /usr/local/nginx/conf/nginx.conf

server {
    listen       80;
    server_name  localhost;
    
    location / {
        // 修改点:把80端口转发至8090端口
        proxy_pass http://127.0.0.1:8090;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

保存修改内容,然后用 nginx -s reload 命令来重启。

如果提示 nginx 指令不存在,那么需要在 /etc/profile 中加入 nginx 的环境变量。

PATH=$PATH:/usr/local/nginx/sbin
export PATH

最后执行 source /etc/profile 命令使配置生效即可。

在完成了上述的配置之后,再次在浏览器中访问你购买的域名,就能看到博客首页了。

4. 域名备案

既然在公网上游荡,那应该就需要进行域名备案(我不知道是不是真的需要备案,反正我是备案过了的)。

腾讯云的域名备案是在一个叫腾讯云网站备案的小程序上完成的,需要注意的是:

  • 网站备案需要在购买域名48小时之后才能进行
  • 网站名称不能纯英文
  • 网站名称不能包含博客等类似的字样(具体腾讯云的客服会打电话跟你沟通的)

具体的材料那小程序上都标明了,这里就不多说了,我在等待了两天之后,完成了域名备案,总之挺快的。

最后,贴一下我的博客,欢迎来访。

http://javageekers.club/

我的博客首页