怎么在云服务器上部署Halo博客系统?

前序

安装工具:

1.安装好环境的宝塔面板(宝塔首页

2.Halo安装文档(文档地址

Nginx1.26.3

Mysql5.7.4.0

Docker环境(如果没有安装的直接跳到文章最后第二点)

Docker compose

3.云服务器(以下使用腾讯云举例)

【腾讯云】春季大促,助力开工,2核2G云服务器低至 68元/年

rhino-design-960x274.png

一、安装Halo

1.创建站点+数据库,根目录新建一个名为“halo”的文件夹,记住数据库名和密码,一会要用创建站点.png

2.进入halo目录,创建名为“docker-compose.yaml”的文件并配置数据库,填写创建站点时创建的数据库名和密码

新建docker-compose.yaml文件-kihp.png

配置数据库-urcc.png

附:docker-compose.yaml内容

version: "3"

services:
  halo:
    image: registry.fit2cloud.com/halo/halo:2.20
    restart: on-failure:3
    network_mode: "host"
    volumes:
      - ./halo2:/root/.halo2
    environment:
      # JVM 参数,默认为 -Xmx256m -Xms256m,可以根据实际情况做调整,置空表示不添加 JVM 参数
      - JVM_OPTS=-Xmx256m -Xms256m
    command:
      # 修改为自己已有的 MySQL 配置
      - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo
      - --spring.r2dbc.username=#这里填写数据库名
      - --spring.r2dbc.password=#这里填写数据库密码
      - --spring.sql.init.platform=mysql
      # 外部访问地址,请根据实际需要修改
      - --halo.external-url=http://localhost:8090/
      # 端口号 默认8090
      - --server.port=8090

3.进入“Docker-容器编排-编排模板-添加-本地模板-添加

添加编排模板.png

4.拉取镜像

拉取镜像-mvvi.png

5.创建容器(这一步完成基本可以通过IP+8090端口访问了)

创建容器.png

6.宝塔安全组开放8090端口,云服务器有些服务商需要到后台安全组添加规则开放8090端口,如阿里云、腾讯云等

开放8090端口.png

7.添加反向代理

#使用Nginx添加反向代理,通过域名访问Halo应用

#反代目标URL:http://ip:8090

#发送域名:example.com(解析后需要指向的域名)

添加反代.png

8.配置SSL证书,开启https安全访问(证书申请自行百度下)

SSL证书.png

9.通过域名访问Halo后台,开启安装配置

初始化后台.png

至此在云服务器上通过宝塔部署Halo就完成了,其余后台的设置就很简单了

二、附:Docker和Docker compose的安装方式,也可以直接在宝塔面板安装(顺序执行即可)

1.Docker安装(阿里源

CentOS (使用 yum 进行安装)

sudo yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo service docker start

2.Docker compose安装(Github

sudo curl -L "https://github.com/docker/compose/releases/download/latest/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version

3.国内服务器提供商需要进行ICP备案,否则无法通过80端口域名访问站点,国外服务器无需备案