halo配置踩坑过程小记
写在最前:
终于搞定了最后的一步域名解析配置,其实动态博客的折腾程度也不低于当时的hexo吧,也可能当时的痛苦过程已经忘了。。整理一下思路,记录一下配置过程走过的坑。
我是从hexo用了半年想折腾点新玩意儿的,其实hexo配置自动化部署之后也挺方便的,反正都是本地编辑写作,后台啥的有没有无所谓。唯一缺点我觉得就是
github
部署有时远程连接的时候莫名的抽筋:443连接失败(其实啥问题都没有就是网络问题,可能过一会又好了)。然后就是静态博客的调整反馈、响应没那么及时,反正用也能用吧。当时也是花了一星期左右去研究,这里贴个老地址:七龙猪のblog (7dragonpig.github.io)
1.买云服务器
既然想换到动态博客,云服务器肯定是必须的(域名也是必须的)。我直接买的阿里云的99一年的这个:
腾讯的我也看了大概是首年80/年,不过因为域名之前是在阿里云买的,服务器、域名一起的话,之后申请备案号会方便一些。
操作系统选Ubuntu 24.04 64位,因为我一开始用centos8
、alios
后边下载1panel
时出现了不兼容现象,后来也忘了错哪了,如果装错了点这里重装。
2.配置linux运维工具(宝塔或者1panel)
选哪个都无所谓,我觉得1panel
开源而且界面更流畅于是选择。
- 安装1panel
来到这个云服务器管理控制台,远程连接Workbench。
按在线安装 - 1Panel 文档来就行。命令行输入:
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
之后下载好了会出现一个外网地址
、内网地址
、账号
、密码
,复制下来,记下来。
-
去控制台打开1panel 的端口 (eg.我的是28139)点
安全组
->管理规则
->编辑
。照下图添加开放端口28139
。- 如果你的端口不是28139换成你自己的。
- 后续要开放很多1panel里面应用的端口,如halo的8080、http的80等也这样操作。
3.进入1panel配置应用
之后就可以访问上面保存的外网地址
了,格式应该类似:http://xx.xxx.xxx.xxx:28139
,这个地址就是以后你运维服务器的地址了,可以收藏起来。
输入用户名、密码,进入后在面板设置
里可以换成好记的。
在应用商店里下载这三个应用
所有应用在下载的时候点高级设置
->端口外部访问
,然后把按照上面方法,在安全组
->管理规则
把对应端口开放。
之后顺利的话就可以访问halo了。直接点服务端口
进入halo初始化配置界面。主题配置什么的就看个人喜好了。
4.网站域名配置
写在最前:
这一步也是非常坑的,我之前用
wordpress
搞这一步的时候网站urlsite
改了之后没配置反向代理
,后边网站直接404进不去了,主题配置忘了备份,远程下载也下不了,网上查了很多资料都没办法解决这个问题(我连wordpress后台都进不了更别说把urlsite
改回来了),那个数据库可视化工具phpadmin
就是为解决这个问题下的,数据库文件改了不过还是打不开。后来只能推倒重来。
所以建议进行域名设置之前,主题配置好自己的diy设置之后及时备份到本地,很重要!!
域名配置:需要分别在halo后台和阿里云域名解析处配置
-
阿里云处:
云解析 DNS (aliyun.com)主要就是这三处,需要创建两条记录,填两次。然后等它生效。
记录类型:都填A
主机记录:一次填@,依次填www
记录值,填你自己的IP:xx.xx.xx.xx
- halo后台处:
点网站
->创建网站
,已装应用选halo
,主域名填自己的(如www.7dragonpig.cn
),其他域名可以填*7dragonpig.cn
,泛解析的意思。
反向代理:
然后点配置
->反向代理
->创建
照下图填:
匹配规则:/
前端请求路径:/
后端代理地址:填你自己的
IP:端口
访问地址,前面是选择http
的,因为后边还要申请ssl证书进行重定向后端域名:$host
如果这一步遇到了
服务内部错误: stderr: 2024/10/28 19:47:10 [emerg] 93#93: invalid number of arguments in "location" directive in /www/sites/www.7dragonpig.cn/proxy/HaloBlog.conf:1 nginx: [emerg] invalid number of arguments in "location" directive in /www/sites/www.7dragonpig.cn/proxy/HaloBlog.conf:1 nginx: configuration file /usr/local/openresty/nginx/conf/nginx.conf test failed
的错误,就手动添加反向代理,操作如下:
- 进入网站目录
- 进入代理
- 创建一个名为
HaloBlog.conf
的文件,内容如下:location / { proxy_pass http://xx.xxx.215.211:8080/; //这里填你自己的IP:端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; add_header Strict-Transport-Security "max-age=31536000"; }
- 重启
openresty
- 当你的
openresty
显示异常
时(第五点非必须,如果你的没有异常请跳过)进入
安装目录
,在子目录
下查找nginx.conf
文件打开,然后划到最后把
location
这段全部删除,保存退出。
手动配置过后,再打开反向代理应该就会自动出现了。
SSL配置
打开数字证书管理服务管理控制台 (aliyun.com)点个人测试证书
->购买
,然后自己填写资料,验证邮箱和电话,然后过几分钟就下发了,就可以下载。
下载解压之后得到这两个文件私钥key
和证书 pem
回到1panel
,打开你网站的目录,进入ssl
文件夹,上传这两个文件。
然后打开证书
->上传证书
,路径填你刚才上传文件的
启用HTTPS
进入网站
->配置
->HTTPS
,启用之后应该会自动跳出来刚刚配置的私钥和证书
没进行https配置之前其实也能用域名打开你的博客,但是基于http协议的,必须输入http://www.yoursite.com
,而且会提示不安全
如果你在以上配置过程中出现了
当前无法使用此页面, 当前无法处理此请求
类的错误,记得去阿里云服务器管理控制台开放相应的端口,绝大部分可能是没开放端口。因为1panel
默认防火墙是未开启的,所以不用单独再开,但是宝塔好像要单独开放端口。
The End
至此,完成以上所有操作之后,输入你的域名www.yoursite.com
,应该会自动重定向到https://www.yoursite.com
,完结~