Joe 主题 Halo 移植版搭建部署教程

news2025/1/12 16:04:01

搭建成功之后的效果图如下

image-20221120011751381

image-20221120011816094

image-20221120011840059

Halo安装部署

Docker 安装 Halo

docker pull halohub/halo:1.5.4   # docker 从远程仓库下载镜像  
docker run -it -d --name fl1906 -p 666:8090 -v ~/fl1906:/root/.halo halohub/halo:1.5.4 --restart=always

docker run -it -d --name walktop -p 777:8090 -v ~/walktop:/root/.halo halohub/halo:1.5.4 --restart=always

参数详解

-i:表示运行容器

-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。

–name :为创建的容器命名。

-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。

-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

~/ 表示当前目录 .带.开头的文件夹默认被隐藏掉 例如: ~/.fl1906 表示当前目录下被隐藏的目录名叫 fl1906的文件夹

Joe 主题 Halo 移植版

主题下载地址

https://github.com/qinhua/halo-theme-joe2.0/releases

image-20221119232157027

image-20221119232251026

Nginx配置域名与ip映射关系

1 阿里云申请 相应域名的ssl 并下载 nginx版的 key 和cert

image-20221119233119145

2 Nginx配置文件详解

user  www www;
worker_processes auto;
error_log  /www/wwwlogs/nginx_error.log  crit;
pid        /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;

events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }

http
    {
        include       mime.types;
		#include luawaf.conf;

		include proxy.conf;

        default_type  application/octet-stream;

        server_names_hash_bucket_size 512;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;

        sendfile   on;
        tcp_nopush on;

        keepalive_timeout 60;

        tcp_nodelay on;

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
		fastcgi_intercept_errors on;

        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        limit_conn_zone $binary_remote_addr zone=perip:10m;
		limit_conn_zone $server_name zone=perserver:10m;

        server_tokens off;
        access_log off;

server
    {
        listen 888;
        server_name phpmyadmin;
        index index.html index.htm index.php;
        root  /www/server/phpmyadmin;

        #error_page   404   /404.html;
        include enable-php.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /www/wwwlogs/access.log;
    }




server{
        listen 443 ssl;
        #对应你的域名
        server_name blog.flya.top;
        ssl_certificate /www/crt/8841417_blog.flya.top.pem;
        ssl_certificate_key /www/crt/8841417_blog.flya.top.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        #如果是静态文件,直接指向目录,如果是动态应用,用proxy_pass转发一下
       location / {
               gzip_static on; # 静态压缩
               add_header Cache-Control public,max-age=60,s-maxage=60; # 配置缓存
               proxy_set_header HOST $host;
               proxy_set_header X-Forwarded-Proto $scheme;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               proxy_pass  http://127.0.0.1:666/; #将域名为admin.tessai.cn的请求分发到本地666端口的服务
               }
    }

server{
        listen 999 ssl;
        #对应你的域名
        server_name walktop.cn;
        ssl_certificate /www/crt/8841443_walktop.cn.pem;
        ssl_certificate_key /www/crt/8841443_walktop.cn.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        #如果是静态文件,直接指向目录,如果是动态应用,用proxy_pass转发一下
       location / {
                      gzip_static on; # 静态压缩
                      add_header Cache-Control public,max-age=60,s-maxage=60; # 配置缓存
                      proxy_set_header HOST $host;
                      proxy_set_header X-Forwarded-Proto $scheme;
                      proxy_set_header X-Real-IP $remote_addr;
                      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                      proxy_pass  http://127.0.0.1:666/; #将域名为admin.tessai.cn的请求分发到本地666端口的服务
                      }
    }

include /www/server/panel/vhost/nginx/*.conf;
}




image-20221119235117479

访问: https://blog.flya.top

image-20221119235145076

主题食用教程

注意 强烈建议阅读官方文档 本人为速通路线 如果只专注于博客创作可以 跟着我快速搭建

官方文档地址 ===> https://qinhua.github.io/halo-theme-joe2.0/#/

  1. 安装主题后请务必到 后台管理 - 博客设置 - 高级选项 中开启 API服务 并配置 Access keyjoe2.0(切记要和主题设置中的 AccessKey 一致),不然部分用到 Content API 的页面会请求失败并报错。(请参考以下报错)
“API has been disabled by blogger currently” —— 后台管理中未开启API服务
“API access key is mismatch” —— 主题中的 AccessKey 和后台管理中的不一致

image-20221119235824006

建议大家在 后台管理-系统-博客设置-高级选项-其他设置 中开启 全局绝对路径

外观-主题设置

基本设置

  1. image-20221120000509475主题相关

image-20221120000922417

image-20221120000936423

导航

image-20221120001156551

页脚

image-20221120001345844

image-20221120001353820

轮播图

image-20221120001931848

image-20221120001941010

侧边栏

image-20221120002949155image-20221120002957409

image-20221120003008119

博主信息

image-20221120003403982

image-20221120003412815

归档页

image-20221120004240270

代码块

image-20221120004445341

image-20221120004451625

基本设置就这些了 后续有补充再更~~~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【算法系列】非线性最小二乘-列文伯格马夸尔和狗腿算法

系列文章目录 【算法系列】卡尔曼滤波算法 【算法系列】非线性最小二乘求解-直接求解法 【算法系列】非线性最小二乘求解-梯度下降法 【算法系列】非线性最小二乘-高斯牛顿法 【算法系列】非线性最小二乘-列文伯格马夸尔和狗腿算法 文章目录 系列文章 文章目录 前言 …

期末网页设计作业素材 (民宿 5页 带地图)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 游景点介绍 | 旅游风景区 | 家乡介绍 | 等网站的设计与制作 | HTML期末大学生网页设计作业,Web大学生网页 HTML:结构 CSS&…

JSON解析看这一篇就够了

目录 文章目录[toc]一、JSON是什么 ( ̄︶ ̄)↗总而言之:二、为什么要用JSON三、不同的JSON解析方式3.1 gson和[fastjson](https://so.csdn.net/so/search?qfastjson&spm1001.2101.3001.7020)简而言之3.2 gson案例3.…

15.Servlet

目录 1.Servlet的日常开发 1.WebServlet(...此处填写资源路径) 1.那么什么时候Tomcat会启动失败? 2.响应体是文本内容&&字符集编码是uft-8 3.读取请求参数 4.资源的重定向(redirect) 2.面试问题:GET和POST有什么区…

代码随想录算法训练营三期 day 23 - 二叉树(9)

669. 修剪二叉搜索树 原文链接:669. 修剪二叉搜索树 题目链接:669. 修剪二叉搜索树 视频链接:669. 修剪二叉搜索树 在上图中我们发现结点 000 并不符合区间要求,那么将结点 000 的右孩子 结点 222 直接赋给 结点 333 的左孩子就…

Java设计模式 (1) —— Iterator迭代器模式

拿到这个话题,首先搞清楚:什么是迭代器? 大家都学过 for-i 循环,for-i循环的本质就是 通过i 或者 i-- ,以实现 从数据的一端 一个一个地遍历数据元素,直到另一端的最后一个元素,将这里 i 的通用…

【Linux】基础IO —— 深入理解文件系统 | 软硬链接

🌈欢迎来到Linux专栏~~ 深入理解文件系统 (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort目前状态:大三非科班啃C中🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自己的…

安全需求和挑战

安全需求和挑战 从风险管理的角度讲,主要就是管理资产、威胁、脆弱性 和防护措施及其相关关系,最终保障云计算平台的持续安全,以及 其所支撑的业务的安全。 云计算平台是在传统 IT技术的基础上,增加了一个虚拟化 层,并…

大数据之——Hive

目录1. Hive 基本概念1.1 什么是 Hive1.2 Hive 的优缺点1.2.1 优点1.2.2 缺点1.3 Hive 架构原理2. Hive 安装2.1 Hive 安装地址2.2Hive 安装部署2.3MySQL 安装2.4 Hive 元数据配置到 MySQL2.4.1 拷贝驱动2.4.2 配置 Metastore 到 MySQL2.4.3 再次启动 Hive2.5 使用元数据服务的…

让学前端不再害怕英语单词(二)

写了本专栏的第一章让学前端不再害怕英语单词(一)后,反响热度还是比较高的,截止现在已经有20个收藏量了,所以趁热打铁来更第二章 第一章我们简单的介绍了html,css和js的部分高频单词,因为html要…

S32K144的GPIO使用

程序初始化前线使用Components工具对时钟和GPIO进行配置,然后再main函数里面初始化。 时钟配置参考: S32K144之时钟配置 - 明明1109 - 博客园 (cnblogs.com) gpio配置 S32K SDK使用详解之PinSettings组件配置与使用详解(S32K1xx PORT 和GPIO模块)_嵌…

jdk1.8新特性简介

一、引言 jdk1.8出来已经一段时间了,现在1.9也已经出来了,但是很多公司(我们公司也一样)不太愿意升级到高版本的jdk,主要是有老的项目要维护,还有升级的话配套的框架也要升级,要考虑的细节事情太…

实训素材纯HTML+CSS代码 (教育主题 3页 )

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 家乡旅游景点 | 家乡民生变化 | 介绍自己的家乡 | 我的家乡 | 家乡主题 | HTML期末大学生网页设计作业,Web大学生网页 HTML:结…

SpringMVC具体工作流程(保姆教学)

目录 文章目录[toc]一、SpingMVC的常用组件二、[SpringMVC](https://so.csdn.net/so/search?qSpringMVC&spm1001.2101.3001.7020)的工作流程一、SpingMVC的常用组件 1)DispatcherServlet 是一种前端控制器,由框架提供。 作用:统一处理请…

基于Simulink宽带单基地雷达系统仿真(附源码)

目录 一、探索示例 1.1 收发器 1.2 信号处理子系统 1.3 渠道 1.4 目标子系统 二、结果和显示 三、总结 四、程序 本示例演示如何仿真宽带雷达系统。当雷达系统的带宽超过系统中心频率的5%时,通常被认为是宽带的。对于此示例,将使用 10% 的带宽。 …

智慧供应链解决方案-最新全套文件

智慧供应链解决方案-最新全套文件一、建设背景二、建设思路三、建设方案智慧供应链具有以下特点1、高度智能化2、全流程数字化3、信息系统互联互通四、获取 - 智慧供应链全套最新解决方案合集一、建设背景 智慧供应链是结合物联网技术和现代供应链管理的理论、方法和技术&…

ES6 入门教程 16 Reflect 16.1 概述

ES6 入门教程 ECMAScript 6 入门 作者:阮一峰 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录ES6 入门教程16 Reflect16.1 概述16 Reflect 16.1 概述 Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API…

nodejs校园二手交易管理系统vue

本系统的设计主要是为给网上用户提供购物方便,所以应该完成以下目标: (1) 登录、注册。用户要想在交易系统中购买商品,就必须先登录系统。如果不是会员,就必须先注册,然后才能登录系统。 (2) 查找商品。用户可以查找自…

求程序段中++x或者x++的频度,时间复杂度、执行次数

以下程序段中"x"的执行频度? 频度就是执行次数for i:1 to n then;for j:1 to n then;x;i1时 内圈for执行n次...in时 内圈执行n次我的理解:外圈for从1到n,有效循环是n次,外圈每循环一次,内圈循环n次&#…

C语言源代码系列-管理系统之学生籍贯信息

往期文章分享点击跳转>《导航贴》- Unity手册,系统实战学习点击跳转>《导航贴》- Android手册,重温移动开发 👉关于作者 众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过…