halo配置踩坑过程小记

news/2025/1/12 6:48:59/文章来源:https://www.cnblogs.com/7dragonpig/p/18521349

写在最前:

​ 终于搞定了最后的一步域名解析配置,其实动态博客的折腾程度也不低于当时的hexo吧,也可能当时的痛苦过程已经忘了。。整理一下思路,记录一下配置过程走过的坑。

​ 我是从hexo用了半年想折腾点新玩意儿的,其实hexo配置自动化部署之后也挺方便的,反正都是本地编辑写作,后台啥的有没有无所谓。唯一缺点我觉得就是github部署有时远程连接的时候莫名的抽筋:443连接失败(其实啥问题都没有就是网络问题,可能过一会又好了)。然后就是静态博客的调整反馈、响应没那么及时,反正用也能用吧。当时也是花了一星期左右去研究,这里贴个老地址:七龙猪のblog (7dragonpig.github.io)

1.买云服务器

​ 既然想换到动态博客,云服务器肯定是必须的(域名也是必须的)。我直接买的阿里云的99一年的这个:

云服务器低价长效特价精选 (aliyun.com)

image-20241028212820815

腾讯的我也看了大概是首年80/年,不过因为域名之前是在阿里云买的,服务器、域名一起的话,之后申请备案号会方便一些。

​ 操作系统选Ubuntu 24.04 64位,因为我一开始用centos8alios后边下载1panel时出现了不兼容现象,后来也忘了错哪了,如果装错了点这里重装。

image-20241028213802655

2.配置linux运维工具(宝塔或者1panel)

​ 选哪个都无所谓,我觉得1panel开源而且界面更流畅于是选择。

  • 安装1panel

来到这个云服务器管理控制台,远程连接Workbench。

image-20241028213145014

​ 按在线安装 - 1Panel 文档来就行。命令行输入:

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

之后下载好了会出现一个外网地址内网地址账号密码,复制下来,记下来。

image-20241028214611992

  • 去控制台打开1panel 的端口 (eg.我的是28139)点安全组->管理规则->编辑。照下图添加开放端口28139

    • 如果你的端口不是28139换成你自己的。
    • 后续要开放很多1panel里面应用的端口,如halo的8080、http的80等也这样操作。

image-20241028214709703

image-20241028215004263

3.进入1panel配置应用

​ 之后就可以访问上面保存的外网地址了,格式应该类似:http://xx.xxx.xxx.xxx:28139,这个地址就是以后你运维服务器的地址了,可以收藏起来。

​ 输入用户名、密码,进入后在面板设置里可以换成好记的。

​ 在应用商店里下载这三个应用

image-20241028215628062

​ 所有应用在下载的时候点高级设置->端口外部访问,然后把按照上面方法,在安全组->管理规则把对应端口开放。

image-20241028215753827

之后顺利的话就可以访问halo了。直接点服务端口进入halo初始化配置界面。主题配置什么的就看个人喜好了。

image-20241028220002713

4.网站域名配置

写在最前:

这一步也是非常坑的,我之前用wordpress搞这一步的时候网站urlsite改了之后没配置反向代理,后边网站直接404进不去了,主题配置忘了备份,远程下载也下不了,网上查了很多资料都没办法解决这个问题(我连wordpress后台都进不了更别说把urlsite改回来了),那个数据库可视化工具phpadmin就是为解决这个问题下的,数据库文件改了不过还是打不开。

后来只能推倒重来。

image-20241024194247097

所以建议进行域名设置之前,主题配置好自己的diy设置之后及时备份到本地,很重要!!

image-20241028220933263

域名配置:需要分别在halo后台和阿里云域名解析处配置

  • 阿里云处:

    云解析 DNS (aliyun.com)主要就是这三处,需要创建两条记录,填两次。然后等它生效。

记录类型:都填A主机记录:一次填@,依次填www记录值,填你自己的IP:xx.xx.xx.xx 

image-20241028223947444

  • halo后台处:

网站->创建网站,已装应用选halo,主域名填自己的(如www.7dragonpig.cn),其他域名可以填*7dragonpig.cn,泛解析的意思。

image-20241028221202451

反向代理:

然后点配置->反向代理->创建

image-20241028221539506

照下图填:

匹配规则:/

前端请求路径:/

后端代理地址:填你自己的IP:端口访问地址,前面是选择http的,因为后边还要申请ssl证书进行重定向

后端域名:$host

image-20241028221710255

如果这一步遇到了服务内部错误: 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的错误,就手动添加反向代理,操作如下:

  1. 进入网站目录

image-20241028222318805

  1. 进入代理

image-20241028222411103

  1. 创建一个名为HaloBlog.conf的文件,内容如下:

image-20241028222450778


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"; 
}
  1. 重启openresty

image-20241028222805646

  1. 当你的openresty显示异常时(第五点非必须,如果你的没有异常请跳过)

进入安装目录,在子目录下查找nginx.conf文件

image-20241028223022370

image-20241028223106976

打开,然后划到最后把location这段全部删除,保存退出。

image-20241028223221378

手动配置过后,再打开反向代理应该就会自动出现了。

SSL配置

打开数字证书管理服务管理控制台 (aliyun.com)点个人测试证书->购买,然后自己填写资料,验证邮箱和电话,然后过几分钟就下发了,就可以下载。

image-20241028223608729

下载解压之后得到这两个文件私钥key 和证书 pem

image-20241028224413720

回到1panel,打开你网站的目录,进入ssl文件夹,上传这两个文件。

image-20241028224544091

然后打开证书->上传证书,路径填你刚才上传文件的

image-20241028224646354

image-20241028224822451

启用HTTPS

进入网站->配置->HTTPS,启用之后应该会自动跳出来刚刚配置的私钥和证书

image-20241028224945125

没进行https配置之前其实也能用域名打开你的博客,但是基于http协议的,必须输入http://www.yoursite.com,而且会提示不安全

如果你在以上配置过程中出现了当前无法使用此页面, 当前无法处理此请求类的错误,记得去阿里云服务器管理控制台开放相应的端口,绝大部分可能是没开放端口。因为1panel默认防火墙是未开启的,所以不用单独再开,但是宝塔好像要单独开放端口。


The End

​ 至此,完成以上所有操作之后,输入你的域名www.yoursite.com,应该会自动重定向到https://www.yoursite.com,完结~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/825461.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wordpress设置自定义字体

wordpress设置自定义字体详解wordpress设置自定义字体: 失败的操作过程:写在最前:试了一天多的引用字体,方法包括但不限于:下载.ttf、.otf格式字体,转化为wotf 、wotf2格式,挂在github仓库用CDN引用,得到css链接​ 然后这里填字体名称和CSS链接,试了很久很久,都失败了…

组合数学与计数原理

组合数学与计数原理 date: 2024/10/29. 不同情况求组合数 求组合数的四种方法。 Lucas 定理 如果 \(p\) 是质数,则对于 \(\forall m, n \in \text{Z},1 \leq m \leq n\),有: \[\binom{n}{m}=\binom{m \bmod p}{n \bmod p}*\binom{m/p}{n/p} (\bmod p) \]即把 \(n,m\) 表示为…

Java面试题中高级进阶(JVM篇Java垃圾回收)

说说Java对象创建过程?知道类的生命周期吗?简述Java的对象结构?如何判断对象可以被回收?JVM的永久代中会发生垃圾回收么?你知道哪些垃圾收集算法?似乎有点模糊了,那就大概看一下面试题吧。前言 本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!说说Java对象创…

不写完整sql,DBeaver如何查询数据?效率翻倍!

前言 我们在使用DBeaver时,最常用的就是查询数据,除了在DBeaver里面直接写完整的sql语句进行查询外,其实还可以用不完整的sql语句来查询,效率翻倍。那么,我们该如何操作呢? 如何操作 首先,我们还是照旧打开某一张表的数据,这样默认是没有任何查询条件的。当我们需要按照…

在机器学习中,L2正则化为什么能够缓过拟合

在机器学习中,L2正则化作为一种有效的技巧,能够显著缓解模型的过拟合现象。主要原因包括:1.对权重进行约束,减少模型复杂性;2.增强模型的泛化能力;3.防止权重过大导致的数值不稳定;4.与损失函数相结合,实现模型目标的平衡;5.鼓励权重的均匀分布。通过L2正则化,我们可…

CTF学习(15)MISC(FLAG)

1.图片(?)--->查看详细信息(无果)--->010editor查看是否修改宽高或内藏编码(无果)---使用stegsolve逐层查看(无果) --->选中RGB三个通道的0层使用preview按钮发现存在PK文件(知识点:PK是一种压缩文件)选择SAVE Bin保存为.zip格式的文件 (目前遇到的这种LSB隐写题目都…

全栈(full stack)是什么意思

全栈(Full Stack)指的是一种技能集合和开发理念,涵盖软件开发的各个层面,从前端用户界面到后端服务器端、数据库和服务器管理等多个领域。全栈开发者具备跨越整个技术堆栈的能力,能够综合处理应用程序开发的各个方面,从而构建完整、高效且稳定的应用系统。1. 全栈开发的涵…

找不到符号

问题详情:有依赖有插件在代码里可以看到关联但注解后编译提示找不到符号尝试方法:清除缓存重新启动 无效重新加载maven 无效是否添加dependence 是否安装Lombok插件 有 无效先clear再compile 无效

2024御网线上Pwn方向题解

ASM Checksec检查保护基本上保护都关闭了 64位ida逆向程序只有一段,并且返回地址就是输入的数据,看起来就是srop了,找一下可以用的gadget通过异或清空rax值,然后通过异或ecx和1,异或rax和rcx即可增加rax的值,同理左移一位同样可以增加rax的值,将rax增加到0xf然后打srop,…

基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现四

三、系统部分功能描述关于我们信息数据层Dao、物品分类信息数据层Dao、快递柜格子信息数据层Dao、投诉信息数据层Dao、快递柜类型信息数据层Dao、快递柜信息数据层Dao、新闻信息数据层Dao、日志信息数据层Dao、小区信息数据层Dao、用户信息数据层Dao一、前言介绍: 1.1 项目摘要…

为什么安卓不去掉 Java 语言底层_2

为什么安卓不去掉 Java 语言底层? 在探讨为什么安卓不去掉 Java 语言底层时,我们可以立即指出几个核心原因:兼容性保持、开发生态成熟度、跨平台性能。其中,兼容性保持是最为关键的一点。Android平台自推出以来,就大量采用Java语言进行应用开发。这背后不仅仅是因为Java语…

java中对象池的在什么时候应用比较合适

对象池是一种软件设计模式,其主要目的是重用对象,减少对象的频繁创建和销毁。在Java中,对象池在特定场景下表现出色,如数据库连接、线程池或重资源操作。本文深入探讨对象池的概念、优势和Java中的合适应用场景。1.对象池的基本介绍 对象池是一种存储已初始化对象的容器,让…