Admin
发布于 2022-12-05 / 69 阅读 / 0 评论 / 0 点赞

Halo2.0安装使用新体验

Halo [ˈheɪloʊ],好用又强大的开源建站工具。

华为云 CentOS 7.6 64bit

2vCPUs | 4GiB

一、更新系统

把yum包更新到最新:

yum update -y

二、安装Docker

1、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

yum install -y yum-utils device-mapper-persistent-data lvm2

2、设置yum源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、查看所有仓库中所有docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r

4、安装Docker,命令:yum install docker-ce-版本号,我选的是docker-ce-19.03.9-3.el7,如下:

yum install docker-ce-19.03.9-3.el7

(期间要选择确认,输入 y 即可)

5、启动Docker,命令:systemctl start docker,然后加入开机启动,如下:

systemctl start docker

systemctl enable  docker

6、查看当前docker版本

docker version

7、docker-compose 系统命令安装

7.1下载 docker-compose

curl -L https://get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

7.2增加权限

#进入到文件目录
cd /usr/local/bin
#增加可执行权限
chmod +x docker-compose

7.3 查看 docker-compose 版本

docker-compose -v

三、安装Halo2

1、在系统任意位置创建一个文件夹,此文档以 ~/halo 为例。

mkdir ~/halo && cd ~/halo

注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。

2、创建 docker-compose.yaml

vi docker-compose.yaml

2.1 我使用的是MySql数据库,创建 Halo + MySQL 的实例如下:

version: "3"

services:

halo:

image: halohub/halo:2.0.0

container_name: halo

restart: on-failure:3

depends_on:

halodb:

condition: service_healthy

networks:

halo_network:

volumes:

- ./:/root/.halo2

ports:

- "8090:8090"

environment:

- SPRING_R2DBC_URL=r2dbc:pool:mysql://halodb:3306/halo

- SPRING_R2DBC_USERNAME=root

# MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。

- SPRING_R2DBC_PASSWORD=o#DwN&JSa56

- SPRING_SQL_INIT_PLATFORM=mysql

# 外部访问地址,请根据实际需要修改

- HALO_EXTERNAL_URL=http://localhost:8090/

# 初始化的超级管理员用户名

- HALO_SECURITY_INITIALIZER_SUPERADMINUSERNAME=admin

# 初始化的超级管理员密码

- HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD=P@88w0rd

halodb:

image: mysql:8.0.27

container_name: halodb

restart: on-failure:3

networks:

halo_network:

command: --default-authentication-plugin=mysql_native_password

--character-set-server=utf8mb4

--collation-server=utf8mb4_general_ci

--explicit_defaults_for_timestamp=true

volumes:

- ./mysql:/var/lib/mysql

- ./mysqlBackup:/data/mysqlBackup

ports:

- "3306:3306"

healthcheck:

test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]

interval: 3s

retries: 5

start_period: 30s

environment:

# 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值

- MYSQL_ROOT_PASSWORD=o#DwN&JSa56

- MYSQL_DATABASE=halo

networks:

halo_network:

2.2 启动 Halo 服务

docker-compose up -d

2.3 实时查看日志:

docker-compose logs -f

**用浏览器访问 $HALO_EXTERNAL_URL/console/(外部访问链接)即可进入 Halo 管理端。管理员用户名为 admin,登录密码为上方设置的 HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD。**

如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 http://ip:端口号 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。

四、反向代理

首先安装好Nginx,可参见我的另外一篇文章:

Nginx配置示例如下:

upstream halo {

server 127.0.0.1:8090;

}

server {

listen 80;

listen [::]:80;

server_name www.yourdomain.com;

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;

}

}


评论