- 确保有拥有VPS(自己家有闲置x86或者amd电脑也行,可以搭配内网穿透使用)。
- 可用的域名并且解析到VPS。
- 一台电脑(Mac或者Windows&Linux?)还可以有手机操作不管iOS或者Android。
- 开放VPS防火墙端口 9443 443
- 最后一点需要钱包够🤣。
如何连接VPS:
先了解你的VPS提供是密钥还是密码。
密钥类似于:
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAyz1N/BuxwX0tntN4fGU4mQHFaAz+rGlw9NE2LWEWS+53a7sFWCTB1+13IkNGLtuKzWLQYeUhd8TyyEMNQY
-----END RSA PRIVATE KEY-----
这种很安全,协议推荐ed25519
及时更新最新协议,太老也可能会破解
密码类似于:123,或者随机8位密码:zPADpT7m 也可以符号随机的8位密码:WXe4@.M 32位?128位?也可以理论上越多越好。
用户名
一般云服务商给的都是root(超级管理员)也有些让你自己设置用户名(比如Oracle,AWS,Azure)
公网IP
不是192.168.1.1(路由器默认地址)127.0.0.1(系统环回地址) 比如1.2.3.4 & 2.3.2.2 或者谷歌的8.8.8.8 CloudFlare的1.1.1.1。 说白了就是可以远程连接,当然内网穿透也可以实现玩法很多。
🆗你基本已经了解了现在连上你的服务器吧
SSH工具
可以使用腾讯一键登录需要把原本的用户名改为root
# Docker 官方安装方法
一行一行输入
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
将存储库添加到 Apt 源(全部复制回车)
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
开始安装Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
国内VPS可能会很慢,可以Ctrl+C再次输入,可以继续安装
使用` docker version` 可以查看版本
# docker compose
默认一键安装好的
`docker compose version`使用这个可以查看
# 使用官方办法用docker compose部署halo
[Halo官方](https://docs.halo.run/getting-started/install/docker-compose/)
在系统任意位置创建一个文件夹,此文档以 ~/halo 为例。
mkdir ~/halo && cd ~/halo
创建 docker-compose.yaml
vim docker-compose.yaml
创建 Halo + MySQL 的实例:
version: "3"
services:
halo:
image: halohub/halo:2.9
container_name: halo
restart: on-failure:3
depends_on:
halodb:
condition: service_healthy
networks:
halo_network:
volumes:
- ./:/root/.halo2
ports:
- "8090:8090"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
command:
- --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo
- --spring.r2dbc.username=root
MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
- --spring.r2dbc.password=密码
- --spring.sql.init.platform=mysql
外部访问地址,请根据实际需要修改
- --halo.external-url=http://localhost:8090/
halodb:
image: mysql:5.7
container_name: halodb
restart: on-failure:3
networks:
halo_network:
command:
- --default-authentication-plugin=mysql_native_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --explicit_defaults_for_timestamp=true
volumes:
- ./mysql:/var/lib/mysql
- ./mysqlBackup:/data/mysqlBackup
ports:
- "3306:3306"
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
interval: 3s
retries: 5
start_period: 30s
environment:
请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值
- MYSQL_ROOT_PASSWORD=密码
- MYSQL_DATABASE=halo
networks:
halo_network:
> Shift + : 再输入wq=保存并退出哦
使用`docker compose up -d`
以后操作都是使用
`docker compose `不能使用`docker-compose`
具体你可以去看docker官方介绍
> 若国内VPS很慢可以考虑拉取国内docker源
[docker转腾讯源](https://www.a12x.cn/archives/1694524233114)
反向代理
[Nginx Proxy Manager反代](https://docs.halo.run/getting-started/install/other/nginxproxymanager/)
或者使用雷池社区版WAF来反代 先输`cd`退出
官方一键脚本
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
这个很简单然后自己来吧😘懒得写无聊可以去我博客看,那里比较详细🤥