目 录CONTENT

文章目录

博客 | Docker+Halo+NPM 搭建博客

RobKing
2023-06-20 / 0 评论 / 2 点赞 / 118 阅读 / 699 字

博客 | Docker+Halo+NPM 搭建博客

环境

  • 阿里云服务器Ubuntu 20.04
  • Docker环境

使用Docker部署halo

参考链接

  1. 创建 博客目录

    mkdir ~/.halo && cd ~/.halo
    
  2. 拉取最新的 Halo 镜像

    docker pull halohub/halo:1.6.0
    
  3. 创建容器

    docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo:1.6.0
    
    -it: 开启输入功能并连接伪终端
    -d: 后台运行容器
    --name: 为容器指定一个名称
    -p: 端口映射,格式为 主机(宿主)端口:容器端口 ,可在 application.yaml 配置。
    -v: 工作目录映射。形式为:-v 宿主机路径:/root/.halo,后者不能修改。
    --restart: 建议设置为 unless-stopped,在 Docker 启动的时候自动启动 Halo 容器。
    
  4. 打开 http://ip:端口号 即可看到安装引导界面

    image-20230619001921047

    也可以直接导入数据

  5. 后台登录配置好基本的信息,后打开 http://ip 即可看到博客

    image-20230619001743624

安装配置主题Joe2

链接

release页面下载源代码

image-20230619002215828

在后台上传主题文件

image-20230619002304644

接下来就在主题设置里面配置信息就好了

我遇到的主要问题就是邮箱服务,我用的465端口不行,要用587端口

image-20230619002415588

使用Nginx Proxy Manager配置反向代理

参考链接

首先用docker-compose安装Nginx Proxy Manager

docker-compose.yml文件,端口尽量不要改,我用的云服务器改了之后就不行了

version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

启动容器

docker-compose up -d

访问 http://ip:81,默认账号密码

Email:    admin@example.com
Password: changeme

添加一个代理

image-20230619002804414

按照下面的方式配置,ip是docker内部的ip地址,可以通过 ip addr show docker0查看

image-20230620013356061

image-20230619002835179

  • Domain Names :填我们 Halo 网站的域名,首先记得做好 DNS 解析,把域名绑定到我们的服务器的 IP 上
  • Scheme :默认 http 即可,除非你有自签名证书
  • Forward Hostname/IP :填入服务器的 IP,或者 Docker 容器内部的 IP(如果 NPM 和 Halo 搭建在同一台服务器上的话)
  • Forward Port:填入 Halo 映射出的端口,这边默认是 8090
  • Cache Assets :缓存,可以选择打开
  • Block Common Exploits: 阻止常见的漏洞,可以选择打开
  • Websockets Support :WS 支持,可以选择打开
  • Access List: 这个是 NPM 自带的一个限制访问功能,这边我们不管,后续可以自行研究。

添加SSL证书

image-20230619003047409

上传这些文件就可以了

image-20230619003122217

配置反向代理的SSL

image-20230619003155105

通过域名访问博客

image-20230619003418122

2

评论区