当前位置:首页 > 技术文章 > 正文内容

从零开始搭建Halo个人博客(hexo搭建个人博客github)

arlanguage3个月前 (01-31)技术文章32

前言

老话说得好,好记性不如烂笔头。对于程序员来说,学无止境,需要学习的东西很多,而如果不记录下来可能过不了多久就忘记了,而记录下来这一步也能很好地贯彻费曼学习法。

其实网上有很多博客平台,但是自己搭一个博客,在自己的平台上分享自己的学习生活,感觉也是一种独有的浪漫,人生在世,总得给世界留点东西哈哈哈。

我为什么重新搭一个博客

之前我也搭建了Hexo+GitHub的静态博客,后面觉得静态博客更新起来太麻烦了,想搞个高级点的动态博客,也能把吃灰的云服务器利用起来。

于是,经过调研了解,选了个人觉得不错的开源博客平台Halo,代码开源,博客简洁强大且社区氛围好,这挺适合个人学习和分享。

Halo部署在自己购买的腾讯云服务器上,在搭载过程中遇到了很多坑,也花了点时间,因此这里记录下来希望能帮到大家。

前期准备

以下条件基于部署在Linux云服务器前提下,其他情况可参考Halo官网。

  1. 云服务器。如果需要建议搞活动期间入手国内云厂商,这样会实惠很多。
  2. 域名(可选)。为了便于访问可以考虑购买一个域名。
  3. Shell客户端连接工具,推荐WindTerm和免费版的Xshell。

环境要求

官方推荐配置如下:

  1. CPU:无特别要求。目前我们的 Docker 镜像 也已经支持多平台。
  2. 内存:为了获得更好的体验,我们建议至少配置 1G 的 RAM。
  3. 磁盘:无特别要求,容量要求不高。
  4. 软件:- 目前我使用了Docker+宝塔面板安装,容器技术是不错的趋势,顺便学习下。
  5. - 数据库暂时选择了Halo自带的H2,后续将转成MySQL。

搭建步骤

1. 第一步:安装宝塔面板

为了提高搭建效率,我选择了宝塔面板辅助,宝塔面板是不错的服务器管理软件,可以帮助我们快速搭建网站。

如上图,安装方式可以参考官网,由于我的是OpenCloud,所以选择了第一个命令:

url=https://download.bt.cn/install/install_lts.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install_lts.sh $url;fi;bash install_lts.sh ed8484bec

运行以上命令后,等待安装完成。安装完成后,会显示宝塔面板的登录信息,包括面板地址、用户名和密码。请务必保存这些信息,以便后续登录使用。

输入命令 bt default 也可查看登录信息。

完成以上几步后,按照上图信息登录对应网址,正确输入账号密码后就可以跳转到宝塔面板页面了。

如下图,在软件商店中安装以下必备软件。

2. 第二步:安装Docker

Docker官方安装文档:CentOS安装docker (推荐安装最新官方文档安装)

根据Docker官方文档,以下是在CentOS上安装Docker的步骤:

2.1 卸载旧版本

首先,卸载任何旧版本的Docker:

sudo yum remove docker \\
                  docker-client \\
                  docker-client-latest \\
                  docker-common \\
                  docker-latest \\
                  docker-latest-logrotate \\
                  docker-logrotate \\
                  docker-engine

2.2 设置仓库

安装所需的包:

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo 

2.3 安装Docker引擎

安装最新版本的Docker Engine和containerd:

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2.4 启动Docker

启动Docker服务:

sudo systemctl start docker

2.5 验证安装

通过运行hello-world镜像验证Docker是否正确安装:

sudo docker run hello-world

如果一切正常,你应该看到一条欢迎消息,表明Docker已成功安装并运行。

2.6 配置Docker开机自启(可选)

如果你希望Docker在系统启动时自动启动,可以执行以下命令:

sudo systemctl enable docker

按照以上步骤,你应该能够在CentOS系统上成功安装Docker。如果在安装过程中遇到任何问题,请参考Docker官方文档或寻求进一步的帮助。

3. 第三步:Docker镜像安装Halo 2.10

Halo官方安装文档:使用 Docker 部署 | Halo 文档

3.1 配置镜像加速源

为了加快下载速度,建议配置镜像加速源,以下以腾讯云加速源为例:

  • 首先执行以下命令:打开 /etc/docker/daemon.json 配置文件。
vim /etc/docker/daemon.json
  • i 切换至编辑模式,添加以下内容,并保存。
{
   "registry-mirrors": [
   ""
  ]
}
  • 执行以下命令,重启 Docker 即可。示例命令以 CentOS 7 为例。
sudo systemctl restart docker
  • 重启 Docker 后,并运行以下命令来查看当前 Docker 的配置。如镜像源配置成功,则输出的内容中会包含下图所示的部分。
sudo docker info

完成以上步骤后,你的Docker就会使用腾讯云的镜像加速服务,这将显著提高镜像的下载速度。

3.2 拉取Halo镜像

docker pull halohub/halo:2.10

下载速度大幅提升…

3.3 创建容器

docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.10

使用上述命令运行 Halo 容器。这个命令会将容器的 8090 端口映射到主机的 8090 端口,并将 ~/.halo2 目录挂载到容器内的 /root/.halo2 目录。

4. 第四步:浏览器访问并初始化系统

浏览器输入 http://服务器IP:8090/console进入下图管理页面,首次登录会进入下图初始化页面,可以按照自己喜好进行相关配置即可。

由于Halo默认端口是8090,记得将8090端口设为安全组。

初始化页面:

我的博客:


到这里已经可以通过网址:http://服务器IP:8090访问我们的博客了。如果想要通过域名访问博客,则需要以下步骤。

5. 第五步:实现域名访问

前提有一个属于自己的域名,如果没有可以在各大云平台购买。另外国内的域名需要备案。

5.1 域名解析

推荐在自己购买的域名商出进行解析,例如我在阿里云购买了域名,所以以阿里云域名解析为例:

进入控制台,搜索云解析DNS并点击进入,【公网DNS解析】→【权威域名解析】→找到要解析的域名,点击添加记录,主机记录和记录类型参考截图以下两行。

5.2 配置反向代理

首先,借助宝塔面板快速添加我们的站点信息。

紧接着配置免费的SSL证书。

最后配置Nginx反向代理:

用#注释一部分内容,从而添加新的Nginx配置:

location / {
  proxy_pass ;       # halo博客-ip访问的端口,我这里是8090
  rewrite ^/(.*)$ /$1 break;
  proxy_redirect off;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Upgrade-Insecure-Requests 1;
  proxy_set_header X-Forwarded-Proto https;
}

到这里已经可以公告域名来访问我们的博客了,例如我的博客:https://aicim.tech。

域名后接 /console 即可进入Halo管理页面。

坚持到这里了,给自己一个大大的点赞!

6. 总结

搭建博客过程中由于不熟悉也经历了一些波折,但是当看到输入网址博客页面出来那一刻还是挺开心的,而且在这过程中也学到了很多东西,开阔了视野,所以大家如果感兴趣或者有需求建议自己动手折腾起来。

另外,博客还是以内容为主,以后会多加分享学习总结等到博客上,后续也会慢慢优化博客,包括脚本同步备份,切换数据库为MySQL,完善博客等等。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1786.html

标签: nginx博客
分享给朋友:

“从零开始搭建Halo个人博客(hexo搭建个人博客github)” 的相关文章

linux安装nginx及简单操作

下载安装包:通过这个命令下载安装包linux安装nginx:1、解压安装包: tar -zxvf nginx-1.14.0.tar.gz2、cd 进入解压后的目录3、编译安装:./configure --prefix=/usr/local/nginx (如果编译不成功,缺少的依赖库 根据提示安装上后...

如何在 NGINX 中创建自定义 404 错误页面

每次NGINX在尝试处理客户端请求时遇到错误,它都会返回一个错误。每个错误都包含一个HTTP响应代码和一个简短描述。错误通常通过简单的默认HTML页面显示给用户。幸运的是,您可以配置NGINX以向您的站点或 Web 应用程序的用户显示自定义错误页面。这可以使用 NGINX 的 error_page指...

Nginx总结(九) 实现系统的动静分离

前段时间,搞Nginx+IIS的负载均衡,想了解的朋友,可以看这篇文章:《nginx 和 IIS 实现负载均衡》,然后也就顺便研究了Nginx + IIS 实现动静分离。所以,一起总结出来,与大家共同探讨。 什么是动静分离所谓系统动静分离,其实,就是将网站静态资源(HTML,JavaScript,C...

提升网站性能开发的10个技巧 提升网站性能开发的10个技巧是什么

随着网络的高速发展,网络性能的持续提高成为能否在芸芸App中脱颖而出的关键。高度联结的世界意味着用户对网络体验提出了更严苛的要求。假如你的网站不能做到快速响应,又或你的App存在延迟,用户很快就会移情你的竞争对手。以下为大家总结10条有关性能提升的经验,以供参考:1. 采用反向代理服务器(Rever...

nginx+spring boot 微服务实现负载均衡

环境准备项目 JDK1.8 以上版本准备好 nginx 环境nginx 配置nginx 的配置文件在/usr/local/nginx/conf 目录下,配置文件 nginx.conf配置信息如下:upstream web_app { server 192.168.226.150:8089 ma...

Nginx从入门到放弃03-Nginx调优

一、调优的必要性在聊调优之前,我们先要知道为何调优,业务运行和调优的关系。笔者把自己总结的文档分为几遍,合集在 https://g.xgss.net/nginx/业务运行:线上业务正常运行,承载了公司业务。 监控业务:通过监控业务对线上业务进行监控,及时发现问题。 优化业务:通过监控分析,发现业务问...