分享使用阿里云服务器搭建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/
相关推荐
StarsGreen2 小时前
libva在intel平台上的前端流程简介
linux
Hilaku4 小时前
你们公司有 35 岁以上的前端吗?
前端·javascript·程序员
AI前端工程狮4 小时前
服务端已经死了,客户端却报"超时"
人工智能·程序员
楠风测开4 小时前
两个任务同时跑,B 的登录态为什么被踢回登录页
程序员
坤坤子吖4 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
codigger5 小时前
大厂git提交规范
git·程序员
挖掘狂人5 小时前
六条分支,一条主干:我的 Git 分支管理心得
git·后端·程序员
方便面不加香菜5 小时前
Docker Volume -- 管理卷Volume详解
运维·docker·容器
程序员cxuan5 小时前
再见了 Typora
人工智能·后端·程序员
Felven6 小时前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool