Halo2.7快速网站搭建2
UBUNTU安装Docker
环境配置
-
删除旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
-
更新
apt
包索引:sudo apt-get update
-
安装包以允许
apt
通过 HTTPS 使用存储库:sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
-
添加 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
-
添加软件源
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
-
更新
apt
包索引。sudo apt-get update
安装方法
-
安装最新版本的 Docker CE 和 containerd,或者转到下一步安装特定版本:
sudo apt-get install docker-ce docker-ce-cli containerd.io
-
通过运行
hello-world
映像验证是否正确安装了 Docker CE 。sudo docker run hello-world
至此docker安装完成
Halo在docker里部署
Halo2.7官方文档:使用 Docker 部署 | Halo 文档
服务器宝塔页面操作
-
软件商店安装Docker管理器
-
镜像管理获取镜像
-
halo的镜像地址:Package halo (github.com)
-
命令:
docker pull ghcr.io/halo-dev/halo:sha-cfe77c5
-
将命令粘贴获取即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vv1IHahH-1690295280016)(https://s2.loli.net/2023/07/25/OpNz9d6EPie1YMx.png)]
使用命令创建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
--name halo
这行代码的halo
表示容器的名称可以自定义- 注意:
-p 8090:8090
前面的端口是你服务器、宝塔面板共同开放的端口,第二个则是Halo的默认端口不修改--halo.external-url=http://localhost:8090/
这条命令的地址是外部访问的端口号或者域名- 最后两行代码里的用户名和密码可以自定义,后期登录后台使用
部署多个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;
}
...
}
反向代理配置地方,在配置文件里