ECS 和 RDS快速安装Halo博客系统
前言
Halo强大易用的开源建站工具。不仅美观、功能齐全,还有丰富的主题可以使用。
⚾️连接ECS服务器
请前往ECS控制台重置服务器密码。
点击【实例】,选择ECS实例所在地域,可以看到开通的ECS实例。点击【ECS实例名称】或右侧的操作栏下的【管理】,进入此台ECS实例的管理界面。
重制服务器密码
设置安全组
搭建时开启全部,后期针对服务开启端口
ssh连接服务器的软件很多,我以finalssh演示
配置数据库
halo博客支持sqlite,配置数据库可选择观看
登录 RDS管理控制台 。
在 实例列表页 选择目标实例,在实例右侧操作列,单击管理,进入RDS实例详情页。
创建数据库用户
- 创建数据库
utf8mb4字符集对emoj表情支持更好
- 设置数据库安全组
允许服务器IP访问
获取公网访问地址
安装需要的软件
安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
检查是否安装成功
docker version
启动docker
systemctl start docker
拉取Halo博客镜像并启动
Mysql启动
docker run \
-it -d \
--name halo \
-p 8090:8090 \
-v ~/.halo2:/root/.halo2 \
halohub/halo:2.8 \
--halo.security.initializer.superadminusername=admin \
--halo.security.initializer.superadminpassword=P@88w0rd \
--spring.r2dbc.url=r2dbc:pool:mysql://rm-cn-uax3cknv10017m1o.rwlb.rds.aliyuncs.com:3306/halo \
--spring.r2dbc.username=halo \
--spring.r2dbc.password=xxxxx
参数名 | 描述 |
---|---|
spring.r2dbc.url |
数据库连接地址,详细可查阅下方的 数据库配置 |
spring.r2dbc.username |
数据库用户名 |
spring.r2dbc.password |
数据库密码 |
数据库配置:
链接方式 | 链接地址格式 | spring.sql.init.platform |
---|---|---|
PostgreSQL | r2dbc:pool:postgresql://{HOST}:{PORT}/{DATABASE} |
postgresql |
MySQL | r2dbc:pool:mysql://{HOST}:{PORT}/{DATABASE} |
mysql |
Sqlite启动
docker run \
-it -d \
--name halo \
-p 8090:8090 \
-v ~/.halo2:/root/.halo2 \
halohub/halo:2.8 \
--halo.security.initializer.superadminusername=admin \
--halo.security.initializer.superadminpassword=P@88w0rd \
配置站点
查看运行运行状态和端口占有
docker ps
浏览器访问
公网IP:8090
输入默认的账号密码
用户名:admin
密码:P@88w0rd
设置博客名称
主题安装
官网主题:https://halo.run/store/apps?type=THEME
推荐一个halo-theme-hao
🛸远程安装
- 复制地址
https://github.com/liuzhihang/halo-theme-hao
- 进入Halo后台 -> 外观 -> 主题 (左侧面板)
- 点击右上方
安装
按钮, 然后选择远程下载
- 在文本框中粘贴仓库地址后点击下载
🚂 本地安装
- 在 Release 页面
下载
最新主题包 (zip) - 进入 Halo 后台 -> 主题 (左侧面板)
- 点击右上角 “主题”, 在弹出的窗口中选择
安装主题
- 选择下载好的主题包(zip)
- 安装完成后的主题将会出现在 “未安装” 内,点击
启用主题
其他有趣的功能和主题,自己探索吧!👏👏👏
配置域名
下方是实例域名,注意更换
- 绑定域名到ip地址
- 创建nginx目录结构
mkdir -p /home/nginx
touch /home/nginx/nginx.conf
mkdir -p /home/nginx/certs
- 申请证书
yum install socat
curl https://get.acme.sh | sh
~/.acme.sh/acme.sh --register-account -m atticus6@qq.com
~/.acme.sh/acme.sh --issue -d test.iweec.cn --standalone
- 下载证书
~/.acme.sh/acme.sh --installcert -d test.iweec.cn --key-file /home/nginx/certs/key.pem --fullchain-file /home/nginx/certs/cert.pem
- 进入目录编辑文件
cd /home/nginx/ && nano nginx.conf
events {
worker_connections 1024;
}
http {
client_max_body_size 1000m;
#上传限制参数1G以内文件可上传
server {
listen 80;
server_name test.iweec.cn;
return 301 https://{
mathJaxContainer[0]}request_uri;
}
server {
listen 443 ssl http2;
server_name test.iweec.cn;
ssl_certificate /etc/nginx/certs/cert.pem;
ssl_certificate_key /etc/nginx/certs/key.pem;
location / {
proxy_pass http://127.0.0.1:8090;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}