云服务器部署Halo记录
云服务器部署Halo记录
这次是给云服务器重装了一下操作系统
重装完成后,又安装了1Panel,并通过1Panel安装Halo博客,同时把之前备份的博客数据导入
最后绑定域名并配置HTTPS访问
这次配置时因为域名加了CDN了,所以导致配置完成后通过域名访问时出现了一些小差错,需要调整一些配置【见文末】。(文章写于2024-10-29,当时阿里云的CDN还叫做DCDN,现在升级为了ESA,可能相关的配置会又所不同)
安装Ubuntu22.04
更换操作系统

选择Ubuntu22.04 64位版本

确认订单后,进行手机号码验证码验证,验证成功后就更换完成了。
安装1Panel面板
用Xshell连接服务器,运行下面的命令安装1Panel面板。
1Penal网址:在线安装 - 1Panel 文档
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
我的1Panel面板基本配置:
- 安装目录:保持默认opt
- 是否配置镜像加速:y
- 端口、账号密码等都是自定义。

现在还不能访问面板,需要去阿里云安全组放行面板端口。注意,这里要点手动添加端口。

现在,访问面板外网地址,输入账号密码,就可以登录1Panel面板了。

安装Halo
先安装MySQL数据库,应用商店找到MySQL数据库,所有选项都保持默认,点击确认。
弹出未开启端口外部访问的提示,点击确定。

数据库安装好后,应用商店找到Halo,点击安装,这次勾选上端口外部访问,其他保持默认,点击确定。

现在,需要去阿里云安全组放行Halo的端口8090,才能访问Halo。

放行后,可访问http://服务器IP:8090进行Halo初始化配置。

初始化完成后再次输入账号密码登录,进入博客后台。

导入备份
本来我是想不进行初始化,直接在1Panel中导入Halo备份的,但是上传备份文件时提示只支持tar.gz文件,但是我的是zip格式的,无法上传。
我推测:
- 在博客后台备份的,备份文件为zip格式,需要再博客后台导入备份进行恢复。
- 在1Panel面板备份的,备份文件格式为tar.gz格式,需要再1Panel面板导入备份进行恢复。
这次就在博客后台进行备份恢复吧。
在后台找到备份->恢复,上传备份文件进行恢复

将文件上传后弹出下面的提示,点击确定后,会自动重启Halo。重启完成后,重新登录,就可以用恢复到上次备份时的配置。值得注意的是,登录的账号密码是备份文件时的博客的账号和密码,而不是现在重新设置的。备份之后,所有的配置,包括上传的图片(指的是保存在Halo中的,而不是OSS中的图片)、文章、以及主题、插件的所有配置都与原先一样。

刚才特地注意了一下,导入配置后,只对Halo内部的配置进行了还原,对Halo系统的配置没有影响,也就是数据库名称密码、外部访问地址等等都不会变。
创建网站、绑定域名
前提:需要有一个已经备案了的域名,并将域名解析到服务器。
在应用商店找到OpenResty,点击安装,全部选项保持默认。

安装好后,在网站选项卡中,点击创建网站,在已装应用中选择halo,填写绑定的域名。

在地址栏中输入http://www.lchuang.top就能访问到博客的主页了。(注意,现在只能用http来访问)
部署SSL,使用https访问
域名备案后,就可以在阿里云那里生气免费的ssl证书,每年可以创建20个证书,一个可以可以用3个月。
在阿里云官网,点击左上角的三横,搜索ssl,进入到数字证书管理界面。

找到ssl证书,个人测试证书,申请,创建,下载。(此处就不多赘述)

下载证书的时候要选择Nginx类型的。

接下来,到1Panel部署证书。
证书解压后,得到两个文件,后缀分别是key和pem,用记事本打开,将两个文件的内容分别粘贴到对应位置。

证书添加完成后,在网站选项卡中找到刚才创建的网站,点击配置。

启用https,此时可以看到,已经自动选择了刚才创建的ssl证书,点击保存。

接下来,就可以用https访问博客了。
遇到的问题
我在配置绑定域名以及部署ssl的时候,因为www.lchuang.top这个域名开了cdn,所以一直访问不了,我把cdn的https关了也还是访问不了。
后来我在又给网站绑定了lchuang.top这个域名,就可以访问了,而且是https访问的。
之所以能用https访问,是因为ssl证书中包含了lchuang.top和www.chuang.top这两个域名。
但是为什么不能用www访问,我估计是cdn那边的原因。
找到原因了,确实是cdn配置的原因。因为我的源站IP绑定了多个域名,而我有没有配置回源SNI,所以导致了无法访问。
刚才了解了一些关于cdn配置的知识,对我的cdn配置进行了一些更改。如下:
回源配置

这篇博客讲的很详细,可以参照他的配置,目前就只配置这些。cdn配置(超详细+图解+原理)-CSDN博客
相关知识:
配置回源HOST:当您的源站的同一个IP地址上绑定了多个域名或站点时,您可以通过配置HTTP请求头中的HOST信息,来指定DCDN节点回源时需要访问的站点。DCDN在回源过程中会根据HOST信息去对应站点获取资源。
在1Panel面板的应用商店中找到Halo,点击“参数”,在弹出的窗口中点击"编辑"。

将外部访问地址更改为绑定的域名。
