Halo2.7快速网站搭建

427 阅读1分钟

Halo2.7快速网站搭建2

UBUNTU安装Docker

环境配置

  1. 删除旧版本

     sudo apt-get remove docker docker-engine docker.io containerd runc
    
  2. 更新apt包索引:

     sudo apt-get update
    
  3. 安装包以允许apt通过 HTTPS 使用存储库:

     sudo apt-get install \
         apt-transport-https \
         ca-certificates \
         curl \
         gnupg-agent \
         software-properties-common
    
  4. 添加 Docker 的官方 GPG 密钥:

     curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    

    9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通过搜索指纹的最后 8 个字符,验证您现在拥有带指纹的密钥 。

     sudo apt-key fingerprint 0EBFCD88
    
  5. 添加软件源

     sudo add-apt-repository \
        "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
        $(lsb_release -cs) \
        stable"
    
  6. 更新apt包索引。

     sudo apt-get update
    

安装方法

  1. 安装最新版本的 Docker CE 和 containerd,或者转到下一步安装特定版本:

     sudo apt-get install docker-ce docker-ce-cli containerd.io
    
  2. 通过运行hello-world 映像验证是否正确安装了 Docker CE 。

    sudo docker run hello-world
    

至此docker安装完成

Halo在docker里部署

Halo2.7官方文档:使用 Docker 部署 | Halo 文档

服务器宝塔页面操作

  1. 软件商店安装Docker管理器

  2. 镜像管理获取镜像

  3. halo的镜像地址:Package halo (github.com)

  4. 命令:docker pull ghcr.io/halo-dev/halo:sha-cfe77c5

  5. 将命令粘贴获取即可

    image-20230725120804508

使用命令创建Docker容器

请看注意事项

docker run \
  -it -d \
  --name halo \
  -p 8090:8090 \
  -v ~/.halo2:/root/.halo2 \
  halohub/halo:2.7 \
  --halo.external-url=http://localhost:8090/ \
  --halo.security.initializer.superadminusername=admin \
  --halo.security.initializer.superadminpassword=P@88w0rd
  1. --name halo这行代码的halo表示容器的名称可以自定义
  2. 注意:-p 8090:8090前面的端口是你服务器、宝塔面板共同开放的端口,第二个则是Halo的默认端口不修改
  3. --halo.external-url=http://localhost:8090/这条命令的地址是外部访问的端口号或者域名
  4. 最后两行代码里的用户名和密码可以自定义,后期登录后台使用

部署多个Halo

只需要修改上面代码里的容器名称、端口号

以及下方这条命令里的 ~/.halo2的名称,例如~/.halo2_1其他地方不变即可

-v ~/.halo2:/root/.halo2

配置网站反向代理

参照1.5配置修改即可 与宝塔面板配合使用 | Halo 文档

注意:需要将部分内容修改

修改前:

upstream halo {
    server 127.0.0.1:8090;
}

修改后:

upstream 新的服务名称,可以和之前部署halo的名字不一样 {
    server 127.0.0.1:新开放的端口号;
}

完整配置:使用时把汉字部分修改为你自己的

upstream 新的服务名称,可以和之前部署halo的名字不一样 {
    server 127.0.0.1:新开放的端口号;
}
server
{
    ...
    
    location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
    {
        proxy_pass http://新的服务名称;
        expires      30d;
        error_log /dev/null;
        access_log off;
    }
    
    location ~ .*.(js|css)?$
    {
        proxy_pass http://新的服务名称;
        expires      12h;
        error_log /dev/null;
        access_log off; 
    }
    
    location / {
        proxy_pass http://新的服务名称;
        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;
    }

    ...
}

反向代理配置地方,在配置文件里