使用halo部署这个网站
参考资料:
halo网站 https://halo.run/
halo文档 https://docs.halo.run/
halo_github https://github.com/halo-dev/halo
1. 配置网站,ssh连接云服务器操作
# https://docs.docker.com/engine/install/debian/
# 跟随教程安装 docker engine
# 命令太多我这里就不复制了
# https://docs.docker.com/compose/install/linux/#install-using-the-repository
# 跟随教程安装 docker compose
# 输入以下命令,有输出就说明安装好了
docker compose version
# Docker Compose version v2.17.2 # 于20230404安装
# 设置docker-compose.yaml
cd /var/www/ccgg.fun
sudo vim docker-compose.yaml
# https://docs.halo.run/getting-started/install/docker-compose
# 按以上链接内的内容填写docker-compose.yaml
# yaml文件中要修改的内容也在上面的链接中,就是设置管理员账号,密码,数据库密码,及外部访问地址
# 设置反向代理
# 还是按以上链接内写的,设置nginx
cd /etc/nginx/sites-enabled
sudo vim ccgg.fun.conf
# 填写完后使用certbot添加ssl证书
sudo certbot --nginx
# 开启docker
cd /var/www/ccgg.fun
sudo docker compose up -d
# 这时已经可以通过域名访问网站了
# 关闭docker,即关闭网站
cd /var/www/ccgg.fun
sudo docker compose down
2. 备份网站
# 就是备份整个文件夹
cp -r /var/www/ccgg.fun ~ #复制整个网站到自己的家目录
# 或者直接打包整个文件夹,然后自己找地方保存
sudo zip -r ccgg.fun.zip ccgg.fun
# 恢复的时候,直接解压好后,在解压后的目录下,开启docker即可
sudo docker compose up -d
3. 后台管理
使用域名/console
的链接进入后台,登陆管理员账户后,就可以进行一些写文章,设置主题,配置网站名称,添加用户的操作了。
4. 配置markdown编辑器
下载安装bytemd这个halo插件,实测比另一个stackedit好用。stackedit在代码块里会有莫名其妙多出来的空格。
5. halo更新
5.1 小更新(2.4.1----2.4.2)
参考:https://docs.halo.run/getting-started/install/docker-compose
- 停止docker
sudo docker compose down
- 备份旧文件夹
sudo cp -r ccgg.fun ccgg.fun.archive
- 修改docker-compose.yaml中配置的镜像版本,小版本改动,如2.4.1到2.4.2,都不用改,因为此时这个文件里都是2.4
sudo vim docker-compose.yaml
- 比较特殊的一步,pull,之前部署时没用过
sudo docker compose pull halo
- 运行
sudo docker compose up -d
5.2 较大更新(2.4.2----2.10.2)
# 备份就不说了
sudo docker compose down
sudo vim docker-compose.yaml #修改2.4为2.10
sudo docker compose up -d #不需要pull,直接这一步即可
6. halo内存占用
服务器有限的内存需要先紧着实验室网站的数据可视化用,因此压缩halo占用的内存
sudo docker stats
#v2.4.2
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
2f2daebe7479 halo 0.15% 590.7MiB / 1.848GiB 31.22% 3.55GB / 925MB 4.18GB / 336kB 79
724328e68469 halodb 0.00% 59.62MiB / 1.848GiB 3.15% 136MB / 3.53GB 4.34GB / 6.93MB 16
#v2.10.2
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
9271de4c948c halo 0.14% 582.1MiB / 1.848GiB 30.77% 156MB / 3.91MB 20.4MB / 7.44MB 80
17b9dd4a0833 halodb 1.47% 50.22MiB / 1.848GiB 2.65% 1.56MB / 156MB 20.4MB / 3.77MB 16
#试着修改docker-compose.yaml添加一下参数,但是不管用啊,所以还是恢复原样吧
environment:
JVM_OPTS: >
-Xms256m
-Xmx256m