博客搭建
# 前言
我记得当时大一大二的时候对博客的认知就是在什么博客园、CSDN这样的平台上写博客,当时我对于博客认知可能不光是记录自己技术的成长,更是记录自己的生活吧。后来无意看到一篇文章下面的博客地址是域名,出于好奇点了进去,发现人家博客内容真的很丰富,那时候就期待自己能有一个真正属于自己的博客。大三的时候看了一些视频利用GitHub搭建了一个静态博客,后面因为考研没这么去完善。当时就想着考完研好好去搭建一个动态博客,也是那时候我接触了halo,借着这几天踩的坑,写一篇关于博客搭建的文章。同时也激励自己,在这个快餐化的物联网时代,能够脚踏实地落实自己的基础知识,敬畏知识!
# 博客的分类和优势
再讲博客分类之前,建议大家去看看b站大佬Codesheep的这个视频为什么要搭建博客 (opens new window),之前博客搭建也基本上学习他的。作为科班的大佬前辈,很多方面值得我们大学生学习,大家也可以多多关注这位UP主,相互勉励、相互学习。 对于博客的分类,我觉得大致上就两类。 1. 静态博客:利用GitHub等搭建。
- 优点:无需使用服务器、搭建比较方便。
- 缺点:相应的速度可能比较慢、同时后台管理不如动态那么方便(使用git管理),个人觉得最重要的就是装逼不够彻底。
2. 动态博客:利用halo、wordpress搭建。
- 优点:响应速度快(毕竟使用的都是腾讯、华为、阿里这些大厂的服务器),后台管理方便(有了图形界面大家肯定用得就很舒服)。
- 缺点:那当然就需要一定费用了(但是如果你是学生那么优惠还是很大的),同时一般大家都想要通过域名绑定,那么域名方面还需要一定的费用。同时在部署方面,可能就需要一定linux基础,稍微复杂一点点。
大家根据实际的情况进行选择,总之博客的分类和外在都是其次,一个博客最主要、最核心的还是其内容。
# 博客的搭建
# 静态博客搭建
静态博客这边就不细说了,如果大家有需要就去参考B站CodeSheep的视频应该就不会有什么问题。
# 动态博客搭建
动态博客需要一定时间,这边我提供Halo和WordPress两种方案,具体以halo为主。
- 首先请各位准博主去购买云服务器和域名(学生的话是有优惠的,可以具体留意一下),服务器方面轻量应用服务器都可以。如果只是单纯做博客的话,服务器1核、2GB内存就够用了。服务器初始选择CentOS系统也就是linux系统。++然后把服务器改了密码之后,服务器和域名一定要实名、备案,这个周期可能需要一点时间,大家耐心等待就好,这段时间大家可以多去参考网上视频和网站为后续博客搭建做准备。这边由于涉及到我服务器相关信息,这边就不放图了,大家有任何问题欢迎来咨询我。++
- 各位备案完成之后,就可以利用你购买于域名的对应平台完成对应的域名绑定。这样后续博客搭建完毕之后,大家就可以通过域名访问你的博客了。自此前期的工作基本就完成。但是现在如果你去访问你的公网ip是没法成功的,因为现在你还没有设立站点,所以大家不要惊慌。一步一步慢慢来。
- 接着大家就可以根据自己的爱好,选择相应的博客搭建工具完成博客的搭建。
# 动态博客——WordPress
WordPress的搭建,大家可以参考这个视频。博客搭建——WordPress (opens new window)
# 动态博客——halo
halo的搭建,也是比较简单的,大家去halo的官网对着相应的halo用户文档 (opens new window)进行操作就可以,这边我会根据我的实际情况来带着大家慢慢部署,如果大家比较喜欢参照视频方式部署的话,这边去参考这个视频。博客搭建——halo (opens new window)
下载一个远程登录软件比如xshell或者finalshell登录你的服务器,然后对着用户文档输入对应的linux指令即可。
# halo文档说明
下面结合自我情况,对halo一些文档进行说明,具体的文档参考halo用户文档 (opens new window)
# 更新软件包
这边更新服务器的软件包,尽量在网络条件较好的情况进行,如果遇到卡顿不要中途退出,多等一等。等到complete的提示出现即可。
sudo yum update -y
# 安装Java运行环境
# 安装 OpenJRE
sudo yum install java-1.8.0-openjdk -y
# 检测是否安装成功
java -version
# 创建halo用户
如果不熟悉linux的同学直接跳过这一步就好了,因为基本上你的博客也都是你自己管理,全程用root用户也可以。
# 安装halo
halo是基于SpringBoot开发的Java程序,后面大家有空可以在Windows跑跑这个项目,还可以学习不少关于JavaWeb和SpringBoot相关的知识。
# 下载配置文件
# 下载配置文件到 ~/.halo 目录
curl -o ~/.halo/application.yaml --create-dirs https://dl.halo.run/config/application-template.yaml
# 修改配置文件
对linux熟悉的同学可以进去看看,但是几乎对于前期而言这个配置文件无需修改。++重点!!!,请在你的服务器的安全组开放8090的端口!++
# 使用 Vim 工具修改配置文件
vim ~/.halo/application.yaml
# 下载jar包
官方文档这边是运行halo
# 下载最新的 Halo 安装包,{{version}} 为版本号,不带 v,更多下载地址https://halo.run/archives/download.html
wget https://dl.halo.run/release/halo-{{version}}.jar -O halo-latest.jar
这里版本目前最新的是1.4.2,大家就可以直接采用下面一段
wget https://dl.halo.run/release/halo-1.4.2.jar -O halo-latest.jar
下载完毕之后,暂时不必运行hao,我们把所有配置都完成了,再去运行。
# 进阶配置
我们需要去设置一个配置文件让halo自动启动。
# 下载 Halo 官方的 halo.service 模板
sudo curl -o /etc/systemd/system/halo.service --create-dirs https://dl.halo.run/config/halo.service
下载完成之后,我们还需要对其进行修改。
# 修改 halo.service
sudo vim /etc/systemd/system/halo.service
打开之后我们可以看到
[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target
[Service]
User=USER
Type=simple
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar YOUR_JAR_PATH
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog
StandError=inherit
[Install]
WantedBy=multi-user.target
这边halo文档的参数说明很详细。如果你是参考我这个文档的话,有两处需要更改的地方。
- YOUR_JAR_PATH:Halo 安装包的绝对路径,修改为/root/halo-latest.jar
- USER:删除 ++User=USER++
这边不太清楚自己的jar包在什么位置,可以利用远程登录软件或者宝塔等去查看一下。
# 修改 service 文件之后需要刷新 Systemd
sudo systemctl daemon-reload
# 使 Halo 开机自启
sudo systemctl enable halo
# 启动 Halo
sudo service halo start
# 重启 Halo
sudo service halo restart
# 停止 Halo
sudo service halo stop
# 查看 Halo 的运行状态
sudo service halo status
# 配置域名访问
相关具体操作请参考:halo配置域名访问文档 (opens new window)
配置域名方面有两种方式:Nginx进行反向代理和Caddy进行反向代理。这里推荐后者。
安装Caddy
# 安装 Caddy 软件包
yum install caddy -y
配置Caddy
# 下载 Halo 官方的 Caddy 配置模板
curl -o /etc/caddy/conf.d/Caddyfile.conf --create-dirs https://dl.halo.run/config/Caddyfile
下载完成之后,我们还需要对其进行修改。
# 使用 vim 编辑 Caddyfile
vim /etc/caddy/conf.d/Caddyfile.conf
打开之后我们可以看到
https://www.simple.com {
gzip
tls xxxx@xxx.xx
proxy / localhost:port {
transparent
}
}
- 请把
https://www.simple.com
改为自己的域名。 tls
后面的xxxx@xxx.xx
改为自己的邮箱地址,这是用于自动申请 SSL 证书用的。需要注意的是,不需要你自己配置 SSL 证书,而且会自动帮你续签。localhost:port
请将port
修改为 Halo 的运行端口,默认为 8090。
多网址重定向到主网址,比如访问 simple.com
跳转到 www.simple.com
在原有的基础上添加如下配置。
https://simple.com {
redir https://www.simple.com{url}
}
将 https://simple.com
和 https://www.simple.com{url}
修改为自己需要的网址就行了,比如我要求访问 ryanc.cc
跳转到 www.ryanc.cc
,完整的配置如下:
https://ryanc.cc {
redir https://www.ryanc.cc{url}
}
https://www.ryanc.cc {
gzip
tls i@ryanc.cc
proxy / localhost:8090 {
transparent
}
}
修改完成之后启动 Caddy
服务即可。
# 开启自启 Caddy 服务
systemctl enable caddy
# 启动 Caddy
service caddy start
# 停止运行 Caddy
service caddy stop
# 重启 Caddy
service caddy restart
# 查看 Caddy 运行状态
service caddy status
完成上面的操作后,你就可以试一试域名访问或者IP:8090访问你的博客了。
# 说明
本人也是一个博客新手,这篇博客内容是我综合网上文档和自身情况结合写出来的,也是第一次写博客,如果有任何问题请各位大佬指出、批评。同时在博客搭建上有任何问题,欢迎各位小伙伴留言或者直接添加QQ微信,希望我能够帮助到你。