Docker 部署Halo

1 篇文章 0 订阅

Docker 部署Halo

1.创建工作目录
mkdir ~/.halo && cd ~/.halo
2.下载示例配置文件到工作目录
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
3.编辑配置文件
vim application.yaml

默认的是h2数据库, 我使用的是mysqlh2配置注释了

server:
  port: 8090

  # Response data gzip.
  compression:
    enabled: true
spring:
  datasource:
    # MySQL database configuration.
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://公网ip:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
    username: xxx
    password: xxx

halo:
  # Your admin client path is https://your-domain/{admin-path}
  admin-path: admin

  # memory or level or redis
  cache: memory
4.添加halodb数据库

image-20220509144109431

5.防火墙规则

image-20220509154113985

5.拉取最新Halo镜像
docker pull halohub/halo:1.5.2
6.启动容器
docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo:1.5.2
7.安装配置

image-20220509154506030
image-20220509154746025

配置主题

官网主题仓库
https://halo.run/themes.html

image-20220509160501263

启用主题

image-20220509160914123

8.nginx代理域名

等了两星期,域名终于下来了,现在使用nginx代理访问

配置文件http层下添加

server {
    listen 80;

    server_name www.smallmayi.com;

    location / {
        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:8090/;
    }
}

image-20220517171710258

保存配置,重启nginx,可以直接访问你的博客了

9.配置ssl

SSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。

https=http+ssl

image-20220517175102584

下载ssl证书

nginx目录下创建cert目录,存放证书解压的pemkey

image-20220519105244188

配置nginx

server {
    listen 80;

    server_name www.smallmayi.cn;
    # 上传文件大小的限制
	  client_max_body_size 1024m;
    # 将所有http请求通过rewrite重定向到https。
    rewrite ^(.*)$ https://$host$1 permanent;

    location / {
        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:8090/;
    }
}  

## 配置的ssl
server {
    listen 443 ssl;

    # 将demo.uanin.com改为您自己的域名
    server_name www.samllmayi.cn;
    # 上传文件大小的限制
	  client_max_body_size 1024m;
    # 将证书文件存放路径和证书的密钥文件名替换成自己存放路径与证书的密钥文件名。
    ssl_certificate /www/server/nginx/cert/smallmayi.cn_bundle.pem;
    ssl_certificate_key /www/server/nginx/cert/smallmayi.cn.key;

    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    location / {
        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;

        # 下面8090是您配置Halo的端口号
        proxy_pass http://127.0.0.1:8090/;
    }
}

image-20220519111618931
配置成功,前面出现锁标识,不行的话把docker和容器重启一下。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值