风离不摆烂学习日志 Day1

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

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

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