搭建成功之后的效果图如下
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
Nginx配置域名与ip映射关系
1 阿里云申请 相应域名的ssl 并下载 nginx版的 key 和cert
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; }
访问:
https://blog.flya.top
主题食用教程
注意 强烈建议阅读官方文档 本人为速通路线 如果只专注于博客创作可以 跟着我快速搭建
官方文档地址 ===> https://qinhua.github.io/halo-theme-joe2.0/#/
- 安装主题后请务必到
后台管理 - 博客设置 - 高级选项
中开启API服务
并配置Access key
为joe2.0
(切记要和主题设置中的AccessKey
一致),不然部分用到Content API
的页面会请求失败并报错。(请参考以下报错)
“API has been disabled by blogger currently” —— 后台管理中未开启API服务
“API access key is mismatch” —— 主题中的 AccessKey 和后台管理中的不一致
建议大家在 后台管理-系统-博客设置-高级选项-其他设置
中开启 全局绝对路径
外观-主题设置
基本设置
- 主题相关
导航
页脚
轮播图
侧边栏
博主信息
归档页
代码块
基本设置就这些了 后续有补充再更~~~