服务器博客网站快速搭建
Halo建站
Halo1.5
第一步:获取服务器
选择一个服务器运营商,例如阿里云、腾讯云、华为云等等。
安装宝塔面板
Centos系统的安装命令
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
Ubuntu/Deepin系统的安装命令
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec
登录面板之后选择推荐安装内容
第二步:获取域名(可选)
购买自己喜欢的域名,进行备案等操作。(详情见域名厂商的文档)
第三步:使用Halo博客部署
**Halo官网地址:**https://halo.run
远程连接自己服务器并安装宝塔面板,我自己购买的服务器安装的Linux系统是Ubuntu22
版本。
- 升级
Ubuntu
软件资源库
sudo apt update && sudo apt upgrade -y
- 命令行安装
OpenJDK17
sudo apt install openjdk-17-jdk
对于JRE,运行以下命令进行安装
sudo apt install openjdk-17-jre
- 检查Java版本以验证安装是否成功
java --version
-
安装
halo
-
在到宝塔面板的网站里创建一个PHP项目
-
进入网站根目录
-
打开终端
-
下载halo安装包(这里使用的是halo的
1.5
版本)wget https://dl.halo.run/release/halo-1.5.3.jar -O halo.jar
-
创建
halo
工作目录Halo 所依赖的工作目录,在 Halo 运行的时候会在系统当前用户目录下产生一个 .halo 的文件夹,绝对路径为 ~/.halo。由于这个工作目录是固定的,所以上面所说的 运行包不限制所存放的位置
mkdir ~/.halo && cd ~/.halo
-
下载示例配置文件到工作目录
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
测试运行 Halo,进入网站目录执行运行命令
java -jar halo.jar
PS:配置数据库或者端口等,如需配置请参考官方文档,别忘记在宝塔的防火墙或者服务器防火墙放行halo端口
-
使用
Supervisor
托管Halo
进程软件商店里安装
Supervisor
进程守护管理器,打开设置,点击 添加守护进程 按钮。名称
:随意
运行目录
:运行包的存放目录,按照实际情况填写,需要保证你所选的目录包含运行包。
启动命令
:输入java -server -Xms256m -Xmx256m -jar halo.jar
之后点击 确定 即可。 -
反向代理
根据安装的Halo版本在官网找到对应配置(以
1.5
版本为例)文档地址:https://docs.halo.run/1.5/getting-started/install/other/bt-panel/
配置步骤:
-
进入配置管理
-
根据官方文档进行配置
-
-
-
进入网站
在浏览器搜索栏输入之前的域名即可访问到网站,网站后台管理需要在网址后输入/admin
进入后台管理
Halo2.7/2.8
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
-
将命令粘贴获取即可
使用命令创建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;
}
...
}
反向代理配置地方,在配置文件里参考1.5配置的地方根据2.7或2.8的官方文档配置