使用zola设置github.io作为个人博客
步骤如下:
- 本地安装zola
- 运行
zola init <your blog dir>, likezola init myblog
目录如下:
1 | myblog/ |
- 创建的博客就放在content下面。
- 图片放在static/images下面,在博客里用
引用 - 博客格式:
+++一定要有
1 | --- |
cd <your blog dir> && git init将这些目录加到版本控制进去。- 添加自定义模板
teplates/index.html和teplates/page.html - 创建github actions:
.github/workflows/deploy.yml
内容如下:
1 | name: Deploy Zola site to GitHub Pages |
这里注意分支。
- master分支是我们源文件的分支
- gh-pages分支是制品分支
推送到
git@github.com:<username>/<username>.github.io.git设置github pages:

如果上传图片,设置
config.toml中base_url = "https://<username>.github.io/"等待github actions完成,就OK了
部署静态网址到服务器
需要
- 一个云服务器,带ip地址/域名的
步骤如下
- 在云服务器安装zola(pre-build比较好)
- 在服务器安装nginx
- 拉取博客代码到服务器:
git clone example_blog@git - 运行命令
cd example_blog && zola build -u "". 构建好的文件在example_blog/public下 cp public /var/www/static-site -r- 给nginx权限并确保自己有权限
sudo chown -R $USER:$USER /var/www/static-site && sudo chown -R www-data:www-data /var/www/static-site && sudo chmod -R 755 /var/www/static-site - 修改nginx的配置文件(ai生成的)
- 新建配置文件/etc/nginx/sites-available/static-site.conf
- 添加内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {
listen 80;
server_name example.com; # 替换为你的域名或服务器 IP(如 192.168.1.100)
root /var/www/static-site; # 静态文件根目录
index index.html index.htm; # 默认索引文件
location / {
try_files $uri $uri/ =404; # 按顺序查找文件或目录,否则返回 404
}
# 可选:启用 Gzip 压缩
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
}
- 设置符号链接`sudo ln -s /etc/nginx/sites-available/static-site.conf /etc/nginx/sites-enabled/`
- 重启nginx
sudo nginx -t && sudo systemctl reload nginx
坑
- 本来打算用nginx做为动态转发,服务器后台跑个zola serve,结果发现zola build出来的都有端口
ip:1111/xxx. 此路不通- 然后就用静态网页。最开始有403,权限问题。然后发现博客的url链接是
ip/ip/xxx, 用zola build -u ""可以处理掉。然后就OK啦
之前用hexo,但图片上传太麻烦了:( zola图片上传也没有那么方便。
ai真好用,特别是这种琐碎的安装部署。