分享使用阿里云服务器搭建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/
相关推荐
秦jh_5 分钟前
【Linux】多线程(概念,控制)
linux·运维·前端
sam-1231 小时前
k8s上部署redis高可用集群
redis·docker·k8s
keep__go2 小时前
Linux 批量配置互信
linux·运维·服务器·数据库·shell
矛取矛求2 小时前
Linux中给普通账户一次性提权
linux·运维·服务器
Fanstay9852 小时前
在Linux中使用Nginx和Docker进行项目部署
linux·nginx·docker
大熊程序猿2 小时前
ubuntu 安装kafka-eagle
linux·ubuntu·kafka
death bell3 小时前
Docker基础概念
运维·docker·容器
daizikui4 小时前
Linux文件目录命令
linux·运维·服务器
NikitaC4 小时前
ldconfig 和 LD_LIBRARY_PATH 区别
linux·c++