v6公网服务器搭建halo个人博客

 1、部署组件

IPv6服务器购买网站:https://idc.888644.xyz

(1)、Java 环境,目前 Halo 最低需要 JRE 17 的环境。

(2)、数据库(任一)

MySQL 5.7+

MariaDB

PostgreSQL

2、安装部署

(1)、安装 Java 21

下载软件包地址 :Java安装包地址

解压下载的压缩包

wget https://download.oracle.com/java/21/archive/jdk-21.0.2_linux-x64_bin.tar.gz
#ipv6要添加warp
wget -N https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh && bash menu.sh
tar -xvf jdk-21.0.2_linux-x64_bin.tar.gz
mv jdk-21.0.2/ /usr/local/


设置环境变量,编辑 ~/.bashrc文件添加Java环境变量: 

export JAVA_HOME=/usr/local/jdk-21.0.2
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc #手动加载


验证安装:

java -version
输出如下命令说明安装成功:
java version "21.0.2" 2024-01-16 LTS
Java(TM) SE Runtime Environment (build 21.0.2+13-LTS-58)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.2+13-LTS-58, mixed mode, sharing)


(2)、安装mariadb

#安装mariadb
apt install mariadb-server
#启动并启用MariaDB服务
systemctl start mariadb
systemctl enable mariadb
#运行安全脚本以提高MariaDB的安全性
mysql_secure_installation
#登录mysql
mysql -uroot -pXXXX
#创建数据库
CREATE DATABASE halo;
#查看数据库
SHOW DATABASES;


(3)、安装halo

创建存放运行包的目录,这里以 ~/app 为例

mkdir ~/app && cd ~/app

下载运行包

wget https://dl.halo.run/release/halo-2.20.12.jar -O halo.jar

创建 工作目录

mkdir ~/.halo2 && cd ~/.halo2

创建 Halo 配置文件

vim application.yaml

将以下内容复制到 application.yaml 中,根据下面的配置说明进行配置

server:
  # 运行端口
  port: 8090
spring:
  # 数据库配置,支持 MySQL、MariaDB、PostgreSQL、H2 Database,具体配置方式可以参考下面的数据库配置
  r2dbc:
    url: r2dbc:pool:mariadb://localhost:3306/halo
    username: root
    password: 123456
  sql:
    init:
      mode: always
      # 需要配合 r2dbc 的配置进行改动
      platform: mariadb
halo:
  # 工作目录位置
  work-dir: ${user.home}/.halo2
  # 外部访问地址
  external-url: http://localhost:8090
  # 附件映射配置,通常用于迁移场景
  attachment:
    resource-mappings:
      - pathPattern: /upload/**
        locations:
          - migrate-from-1.x

3、作为服务运行

(1)、创建 halo.service 文件

vim /etc/systemd/system/halo.service

将以下内容复制到 halo.service 中,根据下面的配置说明进行配置。

[Unit]
Description=Halo Service
Documentation=https://docs.halo.run
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/jdk-21.0.2/bin/java -server -Xms256m -Xmx256m -jar /root/app/halo.jar --spring.config.additional-location=optional:file:/root/.halo2/
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

JAR_PATH:Halo 运行包的绝对路径,例如 /home/halo/app/halo.jar,注意:此路径不支持 ~ 符号。

USER:运行 Halo 的系统用户,如果有按照上方教程创建新的用户来运行 Halo,修改为你创建的用户名称即可。反之请删除 User=USER。

提示

请确保 /usr/bin/java 是正确无误的。建议将 ExecStart 中的命令复制出来运行一下,保证命令有效。

配置完成之后,保存即可。

#重新加载 systemd
systemctl daemon-reload
#运行服务
systemctl start halo
#在系统启动时启动服务
systemctl enable halo
#最后,你可以通过下面的命令查看服务日志:
journalctl -n 20 -u halo
#访问地址
http://[ipv6地址]:8090

4、页面演示

5、反向代理​

(1)、使用 Nginx Proxy Manager

root@srv29004:~# cat /etc/nginx/conf.d/halo.conf
upstream halo {
  server 127.0.0.1:8090;
}
server {
  listen 2275;
  listen [::]:2275;
  server_name _;

  ssl_certificate /root/ygkkkca/cert.crt;
  ssl_certificate_key /root/ygkkkca/private.key;

  client_max_body_size 1024m;

  location / {
    proxy_pass http://halo;
    proxy_set_header HOST $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}


(2)、使用 Traefik

#1、networks 中引入已存在的网络 traefik(此网络需要 提前创建)
#2、services.halo.networks 中添加网络 traefik
#3、修改外部地址为你的域名
#4、声明路由规则、开启 TLS

version: "3.8"

networks:
  traefik:
    external: true
  halo:

services:
  halo:
    image: halohub/halo:2.15
    container_name: halo
    restart: on-failure:3
    volumes:
      - ./halo2:/root/.halo2
    networks:
      - traefik
      - halo
    command:
      # 外部访问地址,请根据实际需要修改
      - --halo.external-url=https://yourdomain.com
    labels:
      traefik.enable: "true"
      traefik.docker.network: traefik
      traefik.http.routers.halo.rule: Host(`yourdomain.com`)
      traefik.http.routers.halo.tls: "true"
      traefik.http.routers.halo.tls.certresolver: myresolver
      traefik.http.services.halo.loadbalancer.server.port: 8090

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值