阿里云服务器搭建 halo 博客从 0 到 1

目录
@[toc]
1. 你要了解的预备知识
1.1 关于阿里云 ECS 那点事
云服务器 ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的 IaaS(Infrastructure as a Service)级别云计算服务。云服务器 ECS 免去了您采购 IT 硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云 ECS 持续提供创新型服务器,解决多种业务需求,助力您的业务发展。
PS:以上是官网的介绍:https://help.aliyun.com/document_detail/25367.html,通俗的来讲,服务器就是一台永不关机的主机电脑,这台主机也许并不需要屏幕,因此我们可以通过远程登录控制。举个"栗"子,我们在访问一个网页时,点击进入网页就可以看到网页展示的内容,那么网页内的内容存在哪里呢,就是服务器在发挥作用,服务器通过一系列复杂操作将我们想要查看的内容展示在你本地的系统上。
![]()
当然 ECS 的功能远不止这些,大家想要仔细了解可以查看官网文档:https://help.aliyun.com/document_detail/25367.html
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s0JpkUNm-1644251161049)(C:/Users/19867/AppData/Roaming/Typora/typora-user-images/image-20220131224832623.png)]
1.2 halo 博客是啥博客
halo 博客官网:https://halo.run/
Halo 是一款使用 Java 开发的开源博客系统,致力于打造最好的 Java 博客系统,知名度没有大名鼎鼎的wordpress
高,但是一款非常简洁清新的开源建站系统,所有代码都储存在 github 网站,方便开发者进行二次开发和修改。
2. 前期准备
我们搭建网站要准备的有:
阿里云实名认证账号注册
阿里云 ECS 服务器
已经备案的域名(可选)
阿里云对象存储 OSS(可选)
2.1 注册阿里云官网账号
进入阿里云官网https://www.aliyun.com/
点击注册账号

同意并注册

当然也可以直接用淘宝或者支付宝,钉钉绑定扫码,也可以下载阿里云 app,用阿里云 app 扫码登录
点击右侧我的阿里云
,进入用户中心

点击右上角头像,点击实名认证

按照要求填写个人信息进行实名认证,审核通过后显示如下信息

只有实名认证的阿里云账号才能进行服务器购买,域名备案等操作
2.2 购买(试用)阿里云 ECS 服务器
阿里云针对实名认证的用户提供了多种免费试用产品,减少开发者的资金输出,如果在试用期内对产品满意则可以继续付费使用

找到云服务器共享型s6
,点击零元试用

按照提示选择配置

关于地域,选择举例访客实际物理位置最近的区域可以降低延迟
操作系统选择 centos 7.9 64 位

其他配置默认即可,点击立即购买,即可以免费试用

同一天服务协议,然后去支付

点击支付,购买成功

等待 3-5 分钟,进入控制台可以查看购买的 ECS 服务器



2.3 购买域名并备案
域名购买后需要进行备案才能正常访问,备案大概需要 5 个工作日,需要提前安排时间。
进入阿里云域名购买地址:https://wanwang.aliyun.com/?spm=5176.21103406.J_8058803260.25.66ce1719tROgrT
选择你想选择的域名进行购买

选中后加入域名清单,然后进行购买

填写模板信息

模板填写完成后还需要进行审核

待审核信息通过后可以进行域名购买,选择域名持有者为个人,点击立即购买

2.4 阿里云对象存储 OSS(可选)
找到存储容量单位包
,点击零元试用

在配置详情页点击立即购买

确认参数后点击去支付

在对象存储控制台可以看到详细信息

###3. 搭建 halo 博客
准备好需要的资源后,我们需要进行远程登录域名
在本地安装好 finalshell 终端登录软件后进行登录
####3.1 finalshell 下载安装
finalshell 介绍
FinalShell 是一体化的的服务器,网络管理软件,不仅是 ssh 客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求.
特色功能:云端同步,免费海外服务器远程桌面加速,ssh 加速,本地化命令输入框,支持自动补全,命令历史,自定义命令参数
安装 finalshell
下载官网:http://www.hostbuf.com/t/988.html
点击下载

保存在本地

下载安装完成后打开主界面
finalshell 快捷键
终端:alt 命令历史双击 ctrl 切换到命令输入框
命令输入框:alt 命令历史 tab 补全双击 ctrl 切换到终端
列表窗口:backspace 上一级目录 alt/tab/esc 关闭窗口上下箭头 选择行
3.2 阿里云服务器远程登录
远程登录 ECS 服务器
打开阿里云云服务器控制台,进入详情页

点击进入详情页
复制公网 IP 地址

打开 finalshell

点击文件夹


选择 SSH 连接

名称:自定义
主机:阿里云服务器的 Ip 地址
用户名:阿里云服务器的登录的用户名称

点击确认后双击

登录成功就可以进行命令控制了
还可以进行编辑文件和上传下载文件
左侧可以查看内存信息
访问成功

3.3 部署软件环境
本次教程以 centos 为例
在控制台输入命令,安装 java

检查 java 版本
如果输出以下类似内容即代表成功

创建新的系统用户,以用户名为halo
为例(名字可以自定义)
授予 halo 管理员权限

为 halo 用户创建密码

登录 halo 账号
创建存放 运行包
的目录,这里以 ~/app
为例
下载运行包

创建 工作目录
下载示例配置文件到 工作目录
运行博客

halo 博客默认用户名为:admin
默认密码:123456
打开 http://ip: 端口号
即可看到安装引导界面。
Halo 的配置文件名为
application.yaml
,其必须位于工作目录~/.halo
下。 Halo 会读取该目录下的配置文件进行加载。此次设置的登录端口号为 1234
3.4 halo 博客网站信息配置

填写基本信息,点击安装

登录

登陆成功后可以看到 halo 的博客后台基本信息

我们再看一下博客主页
打开网址:http://8.141.173.162:1234/
可以看到页面非常简单,但是已经可以证明我们安装成功

下面我们进入后台对博客进行一下美化,并测试发表文章功能

在后台进行主题安装
点击主题官网:https://halo.run/themes.html

可以看到很多主题

选择喜欢的主题将压缩包下载到本地,上传到到博客后台

点击启用,进行配置

设置基本信息


设置好后回到博客首页


可以看到文章已经美化了很多
下面我们今天文章编辑测试,回到博客后台控制台仪表盘

文章编辑采用经典的 markdown 格式,可以进行实时预览


发布文章

查看文章

可以看到非常简约美观,当然 halo 博客也支持导入导出博客,方便文章迁移

还可以自定义界面

3.5 绑定阿里云 OSS 对象存储
在目前环境下,我们博客的文件存储都是放在服务器主机的内存中,可以当我们长久使用服务器时,内存就会不够用,我们可以使用阿里云的对象存储,将文件单独存储,同时可以减小带宽压力,加快访问速度
打开 halo 博客后台
进入附件设置

选择存储位置为阿里云

打开阿里云对象存储控制台:https://oss.console.aliyun.com/overview
打开 bucket 列表

点击查看详情

将读写权限
设置为共有

将所需要的信息填写到博客后台对应位置

点击右上角头像,获取 Access key

点击新建

创建成功后进行复制


配置完成后进行图片上传检测
上传一张图片后去阿里云控制台进行查看

在控制台可以看到我们上传的图片

以后我们编辑博客的文件就会自动上传到对象存储 OSS,而不会保存在服务器内存硬盘中
3.6 设置 halo 自启动
登录 finalshell 控制终端
退出 halo 账户,登录到 root 账户
下载 Halo 官方的 halo.service 模板
修改 halo.service
修改配置
YOUR_JAR_PATH:Halo 运行包的绝对路径,例如
/home/halo/app/halo.jar
,注意:此路径不支持~
符号。USER:运行 Halo 的系统用户,如果有按照上方教程创建新的用户来运行 Halo,修改为你创建的用户名称即可。反之请删除
User=USER
。
重新加载 systemd
运行服务
在系统启动时启动服务
查看服务日志检查启动状态

至此,阿里云 ECS 搭建 halo 博客部署完毕,后续大家可以按照自己喜好进行 DIY 部署

4. 问题 Q&A
4.1 halo 访问IP+端口
无法访问
可能是服务没有打开相应端口
需要进入阿里云 ECS 控制台,添加安全组,打开相应端口



4.2 对象存储上传失败
在阿里云 对象存储复制秘钥和密码到 halo 后台可能会有多余的空格,需要手动删掉,否则会导致图片上传失败

####4.3 费用问题
阿里云的域名,ECS 服务器,对象存储,这些都是需要收费的,大家需要根据自己的情况合理进行资源的选购,同样防止被其他人恶意攻击
5. 部署总结
本文通过大概 3000 字将 halo 博客环境部署在阿里云服务器,为大家详细的介绍了部署流程和服务器等资源的购买配置,希望大家可以通过此案例了解服务器相关资源配置流程,借住阿里云强大的云上资源发挥更大的价值。
版权声明: 本文为 InfoQ 作者【乌龟哥哥】的原创文章。
原文链接:【http://xie.infoq.cn/article/c88d5b92633e74f1816260f90】。文章转载请联系作者。
评论 (1 条评论)