如何用服务器搭建一个Halo博客网站
一.购买服务器(国外的,国外不用备案)使用Centos-7.9
关于购买服务器的一些配置
二.使用FinalShell连接服务器
下载FinalShell,根据电脑系统版本下载
三.在服务器上安装一个宝塔面板,并登录管理面板
点击下载在宝塔官网,相对服务器的系统。找到匹配系统安装的安装脚本代码指令,复制到FinalShell进行安装到服务器。
在服务器安装好宝塔面板之后,会自动生成有一个外网和一个内网的访问地址和账号密码。忘记可以输入指令,bt 14 查看。
我们复制宝塔外网地址进行访问宝塔面板。(新用户需要注册登录)
访问了宝塔面板需要安装下载配置网站运行环境
点击一键安装
四.在服务器安装docker部署我们的halo网站
1,Docker安装相对服务器系统,合适的版本。
补充代码
sudo systemctl enable docker
这句指令将在系统启动时自动启动 Docker 服务
2,创建docker容器,运行下面代码
docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.13
-it:开启输入功能并连接伪终端
-d:后台运行容器 --name:为容器指定一个名称
-p:端口映射,格式为 主机(宿主)端口:容器端口 ,可在 application.yaml 配置。
-v:工作目录映射。形式为:-v 宿主机路径:/root/.halo2,后者不能修改。
#这个命令的作用是在 Docker 中启动一个名为“halo”的容器,该容器使用了 halohub/halo:2.13 镜像,并将主机上的 ~/.halo2 目录映射到容器内部的 /root/.halo2 目录,同时将容器内部的端口 8090 映射到主机的端口 8090。#
补充代码
补充下面代码指令配置 Docker 容器在系统启动时自动启动。以下是具体步骤:
1,创建 Systemd 服务文件:创建一个名为 docker-halo.service
的 Systemd 服务文件。使用 root 权限编辑该文件。
sudo vi /etc/systemd/system/docker-halo.service
在文件输入以下内容:
[Unit] Description=Docker Container: halo
Requires=docker.service
After=docker.service
[Service]
Restart=always
ExecStart=/usr/bin/docker start -a halo
ExecStop=/usr/bin/docker stop -t 2 halo
[Install]
WantedBy=multi-user.target
这里假设你的 Docker 容器名称为 “halo”,如果不是,请将 ExecStart
和 ExecStop
中的容器名称改为你的实际容器名称。
2,重新加载 Systemd 配置:重新加载 Systemd 配置,使新的服务文件生效
sudo systemctl daemon-reload
3,启用服务:启用新创建的服务,使其在系统启动时自动启动
sudo systemctl enable docker-halo.service
4,启动服务:手动启动服务以立即启动 Docker 容器
sudo systemctl start docker-halo.service
5,验证服务状态:可以检查服务状态以确保容器已经启动
sudo systemctl status docker-halo.service
现在,每次服务器启动时,名为 “halo” 的 Docker 容器都会自动启动。
五.访问halo,访问用公网ip+端口,进行访问
当我们在 Docker 中运行一个服务时,该服务运行在一个虚拟网络环境中,这个环境与宿主机的网络是隔离的。默认情况下,容器内部的端口只能通过容器的 IP 地址和端口来访问,无法直接通过宿主机的 IP 地址访问。
六.创建域名,域名解析
有了域名不用我们的公网ip地址登录了。需要在域名服务商注册购买。我用的是阿里云的。
七.我们要做一个反向代理。用域名可以直接访问我们的网站。
有了域名不用我们的公网ip地址登录了。但是还是需要我们输入我们的端口8090,因为域名解析是相对ip解析,不会影响到端口的
在宝塔面板设置站点,申请ssl,申请完了可以用https进行访问。浏览器就不会显示我们的网站不安全了哦
我们的网站搭建完啦!!!
谢谢你的观看
评论区