分享使用阿里云服务器搭建Halo个人站点

恰逢最近双十一,在阿里云官网首页上看到有个什么折扣活动,2核2G的服务器新购和续费只需99/1年,这不赶紧拿下!于是,美滋滋的花费了198大洋,买了两年的云服务器。

由于之前也用过,一般都是用来装个数据库,或者做个内网穿透啥的,这次想玩点不一样的,就搭建个个人站点试试吧。

一、环境初始化

在网站也看到些建站教程,目前使用的比较多的就是Halo了,功能全面,搭建起来就比较简单。

Halo提供了多种安装方式,如Docker、Docker Compose、Helm等等。

由于对Docker比较熟悉,这次就采用了Docker Compose的方式进行安装。

  1. Ubuntu安装Docker

使用的是官方安装脚本自动安装

arduino 复制代码
 curl -fsSL https://test.docker.com -o test-docker.sh
 sudo sh test-docker.sh

安装完成之后,使用 docker -v,可以看到版本号,就说明安装成功。默认的数据目录是在/var/lib/docker目录下,如果有迁移需要,可再进行配置。

  1. 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建站

  1. 在系统任意位置创建一个文件夹,此文档以 ~/halo 为例。
bash 复制代码
mkdir ~/halo && cd ~/halo
  1. 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:

注意,配置需要根据自己的实际情况进行修改,如数据库密码等。

  1. 启动Halo

    docker-compose up -d

启动成功之后,可以查看容器是否正常运行,如正常运行,则说明安装成功。

三、访问

在我们安装成功之后,想登上站点之前,还需要做一个步骤。由于是部署在阿里云服务器上,所以需要在安全组上开通相应的端口,要不然是访问不到的。

进入到阿里云的控制台,找到我们的服务器实例,在网络与安全下选择安全组 ,选择管理规则

手动在入方向上添加一个8090端口,这是Halo默认映射的端口,如果你映射的端口不一样,则此处开放的端口需要与映射的端口保持一致。

好了,做完这些步骤,此时我们就可以愉快的访问我们的站点啦,使用ip:port/console(如果有域名的话,建议配置域名访问)访问,即可进入Halo的管理页面,首次启动会进入初始化页面。

简单设置了之后,就可以拥有一个个人站点了~

四、参考链接

  1. Halo文档:docs.halo.run/
相关推荐
梁萌几秒前
docker部署gitlab和gitlab runner
docker·eureka·gitlab
拾光Ծ11 分钟前
【Linux】文件系统核心(二):深入 Ext2 底层:Block Group 结构 + inode 索引,轻松锁定文件的增删改查
linux·软硬链接·inode·ext2文件系统·block group·文件系统原理·linux面试
楼田莉子13 分钟前
Linux学习:进程信号
linux·运维·服务器·c++·学习
kabcko17 分钟前
Windows10安装Docker
运维·docker·容器
KeeBoom22 分钟前
嵌入式 Linux 应用开发完全手册——阅读笔记14
linux·笔记
进击切图仔27 分钟前
新装 Ubuntu 20.04.6 中安装 ssh.server 功能
linux·ubuntu·ssh
松涛和鸣37 分钟前
69、Linux字符设备驱动实战
linux·服务器·网络·arm开发·数据库·驱动开发
新缸中之脑38 分钟前
在Docker中运行OpenClaw
运维·docker·容器
TangDuoduo000539 分钟前
【Linux下LED基础设备驱动】
linux·驱动开发
cyber_两只龙宝1 小时前
haproxy--使用socat工具实现对haproxy权重配置的热更新
linux·运维·负载均衡·haproxy·socat