开源&Docker 篇三十八:保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

2024-02-08 10:32:08 29点赞 246收藏 17评论

前言

大家好,今天依旧是可爱的Cherry。

说到个人网页,相信不少朋友白嫖过无头服务器部署过静态网页,虽然无头服务器是免费的,但是静态网页的更新却很麻烦,远远不如有数据库的动态网页好用。

例如Wordpress、Typecho、Hexo等,都是非常优秀的动态网页框架。

Cherry正好拿来给大家介绍一款好看又好用的动态网页框架,同时通过cf代理实现无端口访问。

🟡本文使用国外vps部署,仅做技术交流,国内服务器网站请按要求备案。


Halo部署

一、使用docker-compose安装halo

🔻利用群晖Container Manager的项目功能新建compose项目。

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻利用Dockge管理compose项目

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻Compose代码,结合mysql使用

version: "3"

services:

halo:

image: halohub/halo:2.12

container_name: halo

restart: on-failure:3

depends_on:

halodb:

condition: service_healthy

networks:

halo_network:

volumes:

- ./halo2:/root/.halo2 #自定义路径

ports:

- "8090:8090" #自定义端口

healthcheck:

test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]

interval: 30s

timeout: 5s

retries: 5

start_period: 30s

command:

- --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo

- --spring.r2dbc.username=root

# MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。

- --spring.r2dbc.password=o#DwN&JSa56

- --spring.sql.init.platform=mysql

# 外部访问地址,请根据实际需要修改,建议改成域名加【实际访问的端口】

- --halo.external-url=https://localhost:9000

halodb:

image: mysql:8.1.0

container_name: halodb

restart: on-failure:3

networks:

halo_network:

command:

- --default-authentication-plugin=caching_sha2_password

- --character-set-server=utf8mb4

- --collation-server=utf8mb4_general_ci

- --explicit_defaults_for_timestamp=true

volumes:

- ./mysql:/var/lib/mysql #自定义路径

- ./mysqlBackup:/data/mysqlBackup #自定义路径

ports:

- "3306:3306"

healthcheck:

test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]

interval: 3s

retries: 5

start_period: 30s

environment:

# 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值

- MYSQL_ROOT_PASSWORD=o#DwN&JSa56

- MYSQL_DATABASE=halo

networks:

halo_network:

二、halo初始化

🔻输入ip:port进入系统,改一下账号密码,可以看看基本信息里的站点信息是否和设置的一样。

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻插件商城里选一下主题、插件等

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

cloudflare设置

注册cf账号,购买域名这些就不说了,常规操作,下面只讲具体操作。

一、修改cloudflare的SSL参数

🔻可以右上角先改中文,然后选择网站,输入自己的域名,激活网站

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻左侧选“SSL/TLS”——“概述”,将ssl设置为“完全”

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻左侧选“SSL/TLS”——“边缘证书”,将“始终使用HTTPS”打开

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻选择“DNS”-“记录”,增加IPv4、IPv6解析

因为DDNS-GO配置的没有小黄云,所以我们需要先设置v4,v6解析并开启小黄云

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

二、创建自建SSL证书

🔻左侧选“SSL/TLS”——“源服务器”,点击“创建证书”

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻红框内输入域名以及通配符域名,点击创建

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻将自建证书代码分别复制到2个TXT中,并改名为cf.pem和cf.key,然后点确认。

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

三、使用cloudflare进行dns解析

🟡因为我用的是阿里云,这里以阿里云为例,其它域名商操作大同小异

🔻修改源域名商DNS指向,进入“域名”管理台

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻修改域名DNS解析,分别修改为如下两个

NS hazel.ns.cloudflare.com

NS henry.ns.cloudflare.com

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻设置DNSSEC,先来到cloudflare,选择“DNS”——“设置”,启用“DNSSEC”

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻记录下“摘要”、“密钥标记”两栏,一会要用。

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻来到域名管理台,在刚才DNS那一栏,选择“DNSSEC设置”,将加密算法改为13,摘要类型改成2,最上面的标签就是“密钥标记”(短位纯数字),摘要就是刚才复制的“摘要”

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🚀四、转发端口

🔻核心来了,来到CF的“规则”——“Origin Rules”,选择新建规则

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻转发https端口

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

利用NPM反代

一、安装nginx proxy manager

🔻也使用docker-compose方式部署,因为内容重复,就不展示了,直接给代码

version: '3'

services:

app:

image: 'jc21/nginx-proxy-manager:latest'

restart: unless-stopped

ports:

- '6080:80' # HTTP端口,随意改,记住就行

- '6081:81' # WebUI端口,随意改,记住就行

- '6443:443' # HTTPS端口,和在cloudflare重定向的端口一致

volumes:

- ./data:/data # 自定义文件目录

- ./letsencrypt:/etc/letsencrypt # 自定义SSL证书目录

二、npm反代halo服务

🔻进入NPM页面,上传SSL证书(默认账号:admin@example.com 默认密码:changeme)

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻将刚才从cf上保存下来的.pem和.key上传

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻回到首页,选择代理

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻配置代理,直接抄图(IP如果不是bridge的则自己填)

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻选择SSL证书,开启强制HTTPS

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

利用DDNS-GO解析动态域名到cloudflare

🟡有些共享盒子可能会变动ip地址的,虽然很少,但是为了避免手动更换解析的麻烦,可以使用动态解析。

一、cloudflare操作

🔻获取cloudflare里API接口

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻选择“编辑区域DNS”

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻选择网站域名,完成后点击创建令牌

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻令牌只会显示一次,请妥善保管,如果没了只能重新新建

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

二、DDNS-GO操作

🔻安装DDNS-GO

【路径】自己设置

docker run -d --name ddns-go --restart=always --net=host -v 【路径】:/root jeessy/ddns-go--name ddns-go

🔻配置DDNS-GO,输入【ip:9876】打开DDNS-GO

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

🔻有IPv6的也一样设置

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

最后

其实cloudflare转发端口,其实也有一定的缺点,那就是网络问题,毕竟cf常年红ping。

不过,我们可以通过github上的开源项目CloudflareSpeedTest来进行自动修改hosts,达到本地提高访问速度的效果。


#本项目采用docker部署,所有支持docker的服务器都可以实现#

保姆级免备案搭建,一款好看的支持markdown语法的动态主页——halo

欢迎朋友们评论区讨论留言。我会定期更新关注NAS使用方法、开源软件与Docker软件、游戏与生活相关内容,喜欢的朋友请关注、点赞、留言支持。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

1849元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2485.01元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1749元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3479.01元起

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

1999元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2799元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5899元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

1349元起

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

1299元起

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

1699元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

ZSpace 极空间 私有云Q2C 2盘位 Nas网络存储服务器

ZSpace 极空间 私有云Q2C 2盘位 Nas网络存储服务器

899元起

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器 手机平板扩容适用iPhone15

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器 手机平板扩容适用iPhone15

1290.51元起

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

4099元起

文中相关商品

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)
UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)
APC 施耐德 BK650M2-CH UPS电源 650VA/390W
17评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章

生活家,数码领域作者,电脑外设领域作者

发文累计获赞6009,内容被4.7万人收藏

关注 打赏
作者其他文章
最新文章 热门文章
246
扫一下,分享更方便,购买更轻松