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


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

    image-20221120011751381

    image-20221120011816094

    image-20221120011840059

    Halo安装部署

    Docker 安装 Halo

    docker pull halohub/halo:1.5.4   # docker 从远程仓库下载镜像  
    
    • 1
    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
    
    • 1
    • 2
    • 3

    参数详解

    -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;
    }
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140

    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 和后台管理中的不一致
    
    • 1
    • 2

    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

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

  • 相关阅读:
    前端--HTML
    08 集群参数配置(下)
    Cookies 完全指南
    PostPreSql 数据库的一些用法
    JS 找到字符串中所有的数字部分
    ESP8266-Arduino编程实例-OLED显示BMP180传感器数据
    AIOT数字孪生智慧工地一体化管理平台源码
    并发bug之源(二)-有序性
    Win10鼠标宏怎么设置?电脑设置鼠标宏的方法
    自主式模块化无人机设计
  • 原文地址:https://blog.csdn.net/qq_49186423/article/details/127944573