侧边栏壁纸
博主头像
静水流深

静水流深,沧笙踏歌

  • 累计撰写 34 篇文章
  • 累计创建 0 个标签
  • 累计收到 10 条评论

目 录CONTENT

文章目录

博客搭建

唐韵
2024-09-19 / 0 评论 / 0 点赞 / 64 阅读 / 0 字

一、技术栈:

  • Raspberry Pi + 1Panel + Halo + Frp + Hk Server + Nginx Proxy Manager
  • 域名注册商:Porkbun
  • DNS解析:Cloudflare
  • TLS证书签发:来此加密
  • CDN:无

二、树莓派

  • 1Panel面板
  • Halo
  • Frp Client

注意事项

1Panel

  • 安装frpc时提示失败,则卸载后重新按安装;提示异常则表示安装正常但未工作,修改frpc.toml配置文件即可。
  • 遇到应用工作不正常首先排查相应端口是否开启。

Halo

  • 用到的应用全部开启外部端口访问

OpenResty

  • 在目前的部署中其实没必要使用这个东西,openresty本质上是是一个基于 Nginx 与 Lua 的高性能 Web 平台,相当于Nginx的角色,但因为1panel面板的原因,很多设置不够灵活,所以没有使用。(也可能是我目前还没有掌握如何正确使用)
  • 若使用OpenResty:
  1. 选择一键部署,已安装应用-Halo
  2. 在本地服务器的场景下,主域名随便填一个网址即可,因为并不用这个域名来访问该服务,本地能访问该服务的还是 本地IP+Halo的端口。但是因为面板固定的设置逻辑,这里又必须填写一个域名,尽管它没有实质用处。
  3. 还可以通过反向代理将HTTP服务通过其他端口开放出去,再通过Frp暴露到公网。但是我选举直接通过Frp的TCP的通道将Halo暴露出去,因为即使选择反向代理HTTP的方式,Frp也不能通过访问服务器的端口来访问HTTP,必须绑定域名。但这样如果想启用HTTPS的话,又必须再Frp开启https2http插件,并在Frp客户端的配置文件中配置证书,我尝试没有成功,具体问题见Frp配置HTTPS遇到的问题

Frpc

配置一个proxy,如

[[proxies]]
name = "halo"
type = "tcp"
localIP = "192.168.1.100"
localPort = 8090            # Halo的本地端口
remotePort = 自定义          # frps服务器对应的端口

这样即可实现:访问 frps服务器IP+remotePort 打开博客网站

如此,在frps一侧,配置应有两种考量:

  1. 若云服务器对80端口不做限制,则可将remotePort直接设为80,其后将域名直接解析到云服务器的公网IP,则可实现域名访问博客。(域名默认访问解析IP的80端口)
  2. 若是云服务器对80端口有所限制,或出于安全考虑,则可以设置remotePort为其它端口,再由Nginx反向代理服务监听80端口,将域名与服务的真实端口相连接。

三、云服务器

  • 1Panel面板
  • Frp Server(1Panel应用商店安装)
  • SSH命令行Docker安装Nginx Proxy Manager
  • 安装KejiLon Linux一键管理脚本一键脚本工具 - KEJILION

Nginx Proxy Manager

Nginx的图形化管理后台,有中文版,可以手动上传TLS证书或使用内置的Let's Encrypt申请和自动续签证书,但不知道为什么我配置的时候报错了,所以我只能选择在别的机构申请证书并手动上传,并手动续签。三个月一续而已,我觉得完全可以接受。

0

评论区