halo简易部署

前提

1.拥有轻量应用服务器(阿里云新用户可以白嫖,推荐选2核1G的轻量应用服务器,地址选择新加坡或者中国香港)。镜像我这里用的是Alibaba Cloud Linux3。

2.注册域名,如果服务器在国内则还需备案,如果服务器选了中国香港和新加坡(国外)则只需实名认证。我用的就是白嫖的新加坡服务器。注册域名并实名认证以后解析域名,与你的服务器ip绑定。

远程连接

1.进入阿里云的控制台,找到你购买的轻量应用服务器。

2.点击远程连接,并选择Workbench密码登录,注意要用root用户登录(首次远程连接需要初始化密码,跟阿里云的提示走就行)

imgimg

安装Docker

此处以Alibaba Cloud Linux3为例,其他系统可以参考阿里云官方安装Docker并使用(Linux)文档。

1.安装docker

a.运行以下命令,添加docker-ce的dnf源。

1
sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

b.运行以下命令,安装Alibaba Cloud Linux 3专用的dnf源兼容插件。

1
sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus

c.运行以下命令,安装Docker。

1
sudo dnf -y install docker-ce --nobest

2.执行以下命令,检查Docker是否安装成功。

1
sudo docker -v

3.执行以下命令启动Docker服务,并设置开机自启动

1
2
sudo systemctl start docker
sudo systemctl enable docker

4.查看Docker是否运行

1
sudo systemctl status docker

如图所示,正在运行

img

部署Halo

1.创建容器

1
docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.12

注意!注意!注意! 👇 👇 👇

此命令默认使用自带的 H2 Database 数据库。我图方便,同时也是因为白嫖的服务器配置是2核1G性能不佳,所以我使用了默认的数据库。

使用其他数据库请参考Halo官方文档:https://docs.halo.run

docker命令参考(只提供可能用得到的指令):

1.查看在运行容器:docker ps

2.查看包括不在运行的容器:docker ps -a

3.停止容器:docker stop 容器名

4.移除容器:docker rm 容器名

2.通过docker ps指令查看halo容器是否成功运行,下图为例

img

3.通过浏览器访问halo,默认端口为8090

访问地址为:你的ip:8090

注意:如果你的服务器在国外,可能需要配置域名和nginx反向代理之后才能正常访问。可以自行解决。

首次访问会进入初始化页面,正常填写即可

登录后,成功进入Halo管理界面

img

安装Nginx

1.运行以下命令以安装Nginx:

1
yum install nginx

2.配置Nginx

根据官方文档配置,将以下代码修改后放到/etc/nginx/nginx.conf的中的http块下面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
upstream halo {
server 127.0.0.1:8090; #修改为自己的ip和端口号
}
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;
}
}

3.访问域名查看是否代理成功,下图为例

img