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

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
对象存储 OSS,20GB 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 可能网络上已经有很多关于wordpress的建站教程,但是关于halo却很少,本文将从阿里云服务器购买(试用)到搭建一个属于开发者自己的开源博客系统,带你从0到1了解认识阿里云ECS搭建博客网站。


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

image-20220131224832623

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服务器

阿里云针对实名认证的用户提供了多种免费试用产品,减少开发者的资金输出,如果在试用期内对产品满意则可以继续付费使用

阿里云产品开发者试用专区:https://free.aliyun.com/?spm=5176.19720258.J_2937333540.13.6f1f2c4ai0OVpX&scm=20140722.M_4808909.P_2925.MO_391-ID_4722896-MID_4722896-CID_20080-ST_3079-V_1

网络异常,图片无法展示
|

找到云服务器共享型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(可选)

进入阿里云对象存储试用中心:https://free.aliyun.com/?spm=5176.19720258.J_2937333540.13.de342c4aClCMb1&scm=20140722.M_4812860.P_2925.MO_391-ID_4722896-MID_4722896-CID_20080-ST_3079-V_1

找到存储容量单位包,点击零元试用

网络异常,图片无法展示
|

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

网络异常,图片无法展示
|

确认参数后点击去支付

网络异常,图片无法展示
|

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

网络异常,图片无法展示
|


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

sudo yum install java-11-openjdk -y

网络异常,图片无法展示
|

检查java版本

java -version

如果输出以下类似内容即代表成功

网络异常,图片无法展示
|

创建新的系统用户,以用户名为halo为例(名字可以自定义)

useradd -m halo

授予halo 管理员权限

usermod -aG wheel halo

网络异常,图片无法展示
|

为 halo 用户创建密码

passwd halo

网络异常,图片无法展示
|

登录halo账号

su- halo

创建存放 运行包的目录,这里以 ~/app 为例

mkdir ~/app && cd ~/app

下载运行包

wgethttps://dl.halo.run/release/halo-1.4.17.jar-O halo.jar

网络异常,图片无法展示
|

创建 工作目录

mkdir ~/.halo && cd ~/.halo

下载示例配置文件到 工作目录

wgethttps://dl.halo.run/config/application-template.yaml-O ./application.yaml

运行博客

cd ~/app && java -jar halo.jar

网络异常,图片无法展示
|

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 模板

wgethttps://dl.halo.run/config/halo.service-O /etc/systemd/system/halo.service

修改 halo.service

vim /etc/systemd/system/halo.service

修改配置

  • YOUR_JAR_PATH:Halo 运行包的绝对路径,例如 /home/halo/app/halo.jar,注意:此路径不支持 ~ 符号。
  • USER:运行 Halo 的系统用户,如果有按照上方教程创建新的用户来运行 Halo,修改为你创建的用户名称即可。反之请删除 User=USER
    网络异常,图片无法展示
    |

重新加载 systemd

systemctl daemon-reload

运行服务

systemctl start halo

在系统启动时启动服务

systemctl enable halo

查看服务日志检查启动状态

journalctl -n20-u halo

网络异常,图片无法展示
|

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

网络异常,图片无法展示
|


4. 问题Q&A

4.1 halo访问IP+端口无法访问

可能是服务没有打开相应端口

需要进入阿里云ECS控制台,添加安全组,打开相应端口

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

4.2 对象存储上传失败

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

网络异常,图片无法展示
|

4.3 费用问题

阿里云的域名,ECS服务器,对象存储,这些都是需要收费的,大家需要根据自己的情况合理进行资源的选购,同样防止被其他人恶意攻击


5. 部署总结

本文通过大概3000字将halo博客环境部署在阿里云服务器,为大家详细的介绍了部署流程和服务器等资源的购买配置,希望大家可以通过此案例了解服务器相关资源配置流程,借住阿里云强大的云上资源发挥更大的价值。


相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
7月前
|
弹性计算 关系型数据库 Apache
基于ECS搭建云上博客
本场景将基于一台配置了CentOS 7.7操作系统的ECS实例(云服务器)。通过本教程的操作,您可以在一台CentOS 7.7操作系统的ECS实例上安装和部署LAMP环境,然后安装 WordPress,帮助您快速搭建自己的博客。
基于ECS搭建云上博客
|
6天前
|
开发者
一键自动化博客发布工具,用过的人都说好(阿里云篇)
使用一键自动化博客发布工具blog-auto-publishing-tools把博客发布到阿里云上。
一键自动化博客发布工具,用过的人都说好(阿里云篇)
|
2月前
调用阿里云接口实现短信消息的发送源码——CSDN博客
调用阿里云接口实现短信消息的发送源码——CSDN博客
63 0
|
4月前
|
弹性计算 关系型数据库 MySQL
带你读《弹性计算技术指导及场景应用》——2. 免费试用ECS,轻松搭建WordPress博客平台使用
带你读《弹性计算技术指导及场景应用》——2. 免费试用ECS,轻松搭建WordPress博客平台使用
198 0
|
5月前
|
弹性计算 监控 关系型数据库
阿里云ECS e实例最佳实践测评:搭建云上博客
阿里云ECS e实例最佳实践测评:搭建云上博客
56097 2
|
6月前
|
安全 JavaScript 前端开发
如何下载博客模板部署在自己的服务器上
如何下载博客模板部署在自己的服务器上
35 0
|
8月前
|
弹性计算 关系型数据库 Apache
基于ECS搭建云上博客
本场景教你如何在 ECS云服务器(CentOS7)的环境下,通过部署 LAMP环境并安装 WordPress 快速搭建个人博客。
258 0
|
9月前
|
弹性计算 关系型数据库 Serverless
基于ECS和云数据库RDS MySQL Serverless搭建超可爱的二次元博客搭建心得
使用Ubuntu系统,通过使用Apache2、PHP以及云数据库RDS MySQL Serverless搭建Wordpress博客,并对其进行二次元美化,完成之后分享一下参加此活动的感受。
|
9月前
|
弹性计算 安全 关系型数据库
基于阿里云ECS和云数据库RDS搭建博客
对搭建博客整个心路历程进行总结
155 7