写在最前:

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

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

1.买云服务器

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

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

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

​ 操作系统选Ubuntu 24.04 64位,因为我一开始用centos8alios后边下载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后台和阿里云域名解析处配置

记录类型:都填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的错误,就手动添加反向代理,操作如下:

  1. 进入网站目录

  1. 进入代理

  1. 创建一个名为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";
}
  1. 重启openresty

  1. 当你的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,完结~

halo配置踩坑过程小记的更多相关文章

  1. linux上安装redis的踩坑过程

    redis用处很广泛,我不再啰嗦了,我按照网上教程想在linux上安装下,开始了踩坑过程,网上买了一个linux centos7.3,滴滴云的,巨坑无比啊,不建议大家用这家的! redis 为4.0, ...

  2. 记一次 Spring 事务配置踩坑记

    记一次 Spring 事务配置踩坑记 问题描述:(SpringBoot + MyBatisPlus) 业务逻辑伪代码如下.理论上,插入数据 t1 后,xxService.getXxx() 方法的查询条 ...

  3. XXLJOB2.1.0数据源配置踩坑记录

    最近在看XXLJOB,因为截至到发文时间最新的版本是2.1.0而且需要建立的数据库与Quartz解耦了,所以就用了最新的版本. 首先说一下踩坑过程: 代码开发完成之后,在定时跑的时候第一次跑的多数失败 ...

  4. 在mac版virtual box中安装ubuntu虚拟机的NAT/Host-Only网络配置踩坑记录

    之前用惯了vmware和parallels desktop,网络配置十分智能,基本不用自己配置.由于版权原因,工作电脑上换了免费的virtual box用,四五年都完全在虚拟机里干活的本菜鸡居然在虚拟 ...

  5. React-Native 踩坑过程

    踩坑过程: 解决方法就是去 SDK Manager 把 23.0.1 的版本下载了 而如果报错信息中含有bintray.com.gradle.org等网址,请***,反复重试,或者去react nat ...

  6. mybatis-generator:generate 生成代码配置踩坑详解

    mybatis-generator:generate 生成代码配置踩坑不少,在此留下笔记以便后续填坑 一.mysql返回时间问题 错误信息: [ERROR] Failed to execute goa ...

  7. 使用impala连接hive踩坑过程

    一.打包镜像出错 docker build总是出错,如果你用的是python3.7,可以考虑使用python3.6版本 并且注意:选择thrift-sasl==0.2.1,否则会出现: Attribu ...

  8. 从0开始的InfiniBand硬件踩坑过程

    由于科学计算实验的需求,需要使用InfiniBand做一个持久性内存全互联的分布式存储系统.其中从网卡到交换机使用Mellanox全家桶,而在Mellanox网卡与交换机的使用过程中还是遇到了不少的问 ...

  9. 记一次Docker中部署Asp.Net Core 3.0的踩坑过程

    最近公司打算重构目前直销报单系统到微信小程序中,目前的系统只能在PC上面使用,这两年也搞过App端,但是由于人员流动和公司架构调整最后都不了了之,只留下一堆写了一半的接口.以前的接口依然是使用Asp. ...

  10. Gradle AndroidStudio内网离线构建配置踩坑记录

    最近一家新公司,由于办公环境都是在内网机上,导致在Unity导出android工程后,gradle离线构建也是第一次搞,花了一天时间也踩了一些坑,最后也终于构建成功了,这里记录下,方便大家少走些弯路. ...

随机推荐

  1. Xshell无法连接22端口问题解决办法汇总

    Xshell软件在进行远程连接过程中,会出现端口连接报错的问题,提示:"该IP地址的22端口连接失败",这是怎么回事?今天小编就xshell软件无法连接22端口的问题,整理相关情形 ...

  2. Mac中nginx的默认安装路径和启动方式

    1.安装完以后,可以在终端输出的信息里看到一些配置路径: /usr/local/etc/nginx/nginx.conf (配置文件路径) /usr/local/var/www (服务器默认路径) / ...

  3. Qt/C++路径轨迹回放/回放每个点信号/回放结束信号/拿到移动的坐标点经纬度

    一.前言说明 在使用百度地图的路书功能中,并没有提供移动的信号以及移动结束的信号,但是很多时候都期望拿到移动的哪里了以及移动结束的信号,以便做出对应的处理,比如结束后需要触发一些对应的操作.经过搜索发 ...

  4. Qt/C++音视频开发50-不同ffmpeg版本之间的差异处理

    一.前言 ffmpeg的版本众多,从2010年开始计算的项目的话,基本上还在使用的有ffmpeg2/3/4/5/6,最近几年版本彪的比较厉害,直接4/5/6,大版本之间接口有一些变化,特别是一些废弃接 ...

  5. Qt开源作品3-串口调试助手

    一.前言 这个作品很多年前就做了,经过了长达七八年的完善,当然也不是全身心的投入完善,也就是根据实际项目的需求不断完善的,尤其是模拟设备回复数据的功能,这个在很多用Qt做上位机开发非常实用,毕竟很多软 ...

  6. WxPython跨平台开发框架之模块字段权限的管理

    在我的很多Winform开发项目中,统一采用了权限管理模块来进行各种权限的控制,包括常规的功能权限(工具栏.按钮.菜单权限),另外还可以进行字段级别的字段权限控制,字段权限是我们在一些对权限要求比较严 ...

  7. C Primer Plus 第6版 第八章 编程练习参考答案

    编译环境VS Code+WSL GCC 源码请到文末下载 . 我给第一题写了Linux shell脚本,感兴趣的同学可以尝试修改并运行一下. /*第1题************************ ...

  8. Solution Set - “卷起击碎定论的漩涡”

    目录 0.「CF 1788F」XOR, Tree, and Queries 1.「CF 1815F」OH NO1 (-2-3-4) 2.「CF 1787F」Inverse Transformation ...

  9. 连接Redis 错误的解决方法: It was not possible to connect to the redis server(s); to create a disconnected multiplexer

    The error you are getting is usually a sign that you have not set abortConnect=false in your connect ...

  10. Swagger介绍和应用

    1.什么是swaggerSwagger是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的 ...