恰逢最近双十一,在阿里云官网首页上看到有个什么折扣活动,2核2G的服务器新购和续费只需99/1年,这不赶紧拿下!于是,美滋滋的花费了198大洋,买了两年的云服务器。
由于之前也用过,一般都是用来装个数据库,或者做个内网穿透啥的,这次想玩点不一样的,就搭建个个人站点试试吧。
一、环境初始化
在网站也看到些建站教程,目前使用的比较多的就是Halo了,功能全面,搭建起来就比较简单。
Halo提供了多种安装方式,如Docker、Docker Compose、Helm等等。
由于对Docker比较熟悉,这次就采用了Docker Compose的方式进行安装。
- Ubuntu安装Docker
使用的是官方安装脚本自动安装
arduino
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh
安装完成之后,使用 docker -v
,可以看到版本号,就说明安装成功。默认的数据目录是在/var/lib/docker目录下,如果有迁移需要,可再进行配置。
- Ubuntu安装Docker Compose
本篇文章写成的时候,Docker Compose的最新版本是v2.23.0,本次我们就安装最新版本。
bash
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
安装完成之后,使用docker-compose version
,可以看到版本号,就说明安装成功了。
二、Halo建站
- 在系统任意位置创建一个文件夹,此文档以
~/halo
为例。
bash
mkdir ~/halo && cd ~/halo
- Halo提供的有yaml文件,我采用的是Halo + PostgreSQL的创建方式,yaml文件如下:
yaml
version: "3"
services:
halo:
image: halohub/halo:2.10
container_name: halo
restart: on-failure:3
depends_on:
halodb:
condition: service_healthy
networks:
halo_network:
volumes:
- ./halo2:/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:postgresql://halodb/halo
- --spring.r2dbc.username=halo
# PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。
- --spring.r2dbc.password=openpostgresql
- --spring.sql.init.platform=postgresql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=http://localhost:8090/
halodb:
image: postgres:15.4
container_name: halodb
restart: on-failure:3
networks:
halo_network:
volumes:
- ./db:/var/lib/postgresql/data
ports:
- "5432:5432"
healthcheck:
test: [ "CMD", "pg_isready" ]
interval: 10s
timeout: 5s
retries: 5
environment:
- POSTGRES_PASSWORD=openpostgresql
- POSTGRES_USER=halo
- POSTGRES_DB=halo
- PGUSER=halo
networks:
halo_network:
注意,配置需要根据自己的实际情况进行修改,如数据库密码等。
-
启动Halo
docker-compose up -d
启动成功之后,可以查看容器是否正常运行,如正常运行,则说明安装成功。
三、访问
在我们安装成功之后,想登上站点之前,还需要做一个步骤。由于是部署在阿里云服务器上,所以需要在安全组上开通相应的端口,要不然是访问不到的。
进入到阿里云的控制台,找到我们的服务器实例,在网络与安全下选择安全组 ,选择管理规则。
手动在入方向上添加一个8090端口,这是Halo默认映射的端口,如果你映射的端口不一样,则此处开放的端口需要与映射的端口保持一致。
好了,做完这些步骤,此时我们就可以愉快的访问我们的站点啦,使用ip:port/console(如果有域名的话,建议配置域名访问)访问,即可进入Halo的管理页面,首次启动会进入初始化页面。
简单设置了之后,就可以拥有一个个人站点了~
四、参考链接
- Halo文档:docs.halo.run/