目录
- 本地obsidian设置,配置gitee同步内容
- 安装quartz
1. 本地obsidian设置,配置gitee同步内容
1.1 本地obsidian
- 创建valut
1.2 git到gitee
- 远程地址信息
token:4eefa7486f07132ae85df43f5ef51213
https://gitee.com/jingzen/quartz.git
git config --global user.name 'Jing'
git config --global user.email 'cicadaz@qq.com'
- git 配置
- .obsidian/不上传到gitee
git rm -r --cached .obsidian
echo ".obsidian/" >> .gitignore
git add .gitignore
git commit -m "Remove .obsidian from tracking"
提示词
1. 本地obsidian编辑
2. ubuntu服务器安装 quartz,服务器地址49.235.191.23,配置域名space.jingzen.cc
3. gitee托管,https://gitee.com/jingzen/obsidian.git, git config --global user.name 'Jing'
git config --global user.email 'cicadaz@qq.com'
4. 内容放在 opt/kb/content下面,已经git https://jingzen:4eefa7486f07132ae85df43f5ef51213@gitee.com/jingzen/obsidian.git
5. node已经安装,版本 v22.21.0,npm已经安装,版本 10.9.4
cd /opt/kb git clone https://github.com/jackyzha0/quartz.git
# 创建软链接,指向你的 Gitee 克隆内容
ln -s /opt/kb/content /opt/kb/quartz/content
-
文件地址 /opt/kb/content
-
配置文件下载
cd /opt/kb/quartz
# 备份旧配置(如有)
mv quartz.config.ts quartz.config.ts.bak
# 从官方示例复制默认配置
curl -o quartz.config.ts https://raw.githubusercontent.com/jackyzha0/quartz/v4/quartz.config.ts
- 下载quartz
cd /opt/kb
# 如果之前 clone 失败留下了空目录,先删除
rm -rf quartz
# 使用正确的地址克隆
git clone https://github.com/jackyzha0/quartz.git #官方的
git clone https://gitcode.com/GitHub_Trending/qua/quartz # 其他
二、在 Ubuntu 服务器上部署 Quartz
1. 安装 Quartz 框架
Bash
编辑
1cd /opt/kb
2git clone https://github.com/jackyzha0/quartz.git
3cd quartz
4npm install
注意:Quartz 默认会从
content/目录读取 Markdown 文件。你已经将笔记放在/opt/kb/content,所以需要把内容目录软链接或移动到 Quartz 的 content 目录下。
2. 链接你的笔记内容
Bash
编辑
1# 删除默认的空 content 目录(如果存在)
2rm -rf /opt/kb/quartz/content
3
4# 创建软链接,指向你的 Gitee 克隆内容
5ln -s /opt/kb/content /opt/kb/quartz/content
3. 配置 Quartz(可选)
编辑 /opt/kb/quartz/quartz.config.ts,设置站点信息、域名等:
✅ 后续步骤(克隆成功后)
Bash
编辑
1cd /opt/kb/quartz
2
3# 切换到稳定版 v4.5.2
4git checkout v4.5.2
5
6# 恢复配置
7cp example/quartz.config.ts ./
8sed -i 's|example\.com|space.jingzen.cc|' quartz.config.ts
9
10# 创建软链接(确保 content 已存在)
11ln -s /opt/kb/content /opt/kb/quartz/content
12
13# 构建(无需 npm install)
14npx quartz build
能显示界面,不能显示内容问题的处理
解决方案:清理并合并配置
步骤 1:查看所有启用的站点
Bash
编辑
1ls -l /etc/nginx/sites-enabled/
你应该看到多个指向 space.jingzen.cc 的软链接,比如:
Text
编辑
1space.jingzen.cc
2space.jingzen.cc.conf
3default
4...
步骤 2:只保留一个主配置文件
建议删除多余的:
Bash
编辑
1# 备份(可选)
2sudo cp /etc/nginx/sites-enabled/space.jingzen.cc ~/space.bak
3
4# 删除所有相关配置
5sudo rm /etc/nginx/sites-enabled/space.jingzen.cc*
步骤 3:创建唯一、干净的配置
Bash
编辑
1sudo nano /etc/nginx/sites-available/space.jingzen.cc
粘贴以下内容(仅 HTTP,先不考虑 HTTPS):
Nginx
编辑
1server {
2 listen 80;
3 server_name space.jingzen.cc;
4
5 root /opt/kb/quartz/public;
6 index index.html;
7
8 location / {
9 # 支持 clean URL(目录模式)和 .html 回退
10 try_files $uri $uri/ $uri.html /index.html =404;
11 }
12
13 # 可选:自定义 404 页面(Quartz 已提供)
14 error_page 404 /404.html;
15}
然后启用它:
Bash
编辑
1sudo ln -sf /etc/nginx/sites-available/space.jingzen.cc /etc/nginx/sites-enabled/
步骤 4:测试并重载
Bash
编辑
1sudo nginx -t
2sudo systemctl reload nginx
🔍 同时确认:你到底是哪种生成模式?
运行:
Bash
编辑
1ls -l "/opt/kb/quartz/public/word22-01-李商隐"*
情况 A:输出是 .html 文件
Text
编辑
1-rw-r--r-- 1 ubuntu ... word22-01-李商隐.html
→ 用上面的 $uri.html 配置 ✅
情况 B:输出是目录
Text
编辑
1drwxr-xr-x 2 ubuntu ... word22-01-李商隐/
且里面有 index.html → 说明是 clean URL 模式,应使用:
Nginx
编辑
1try_files $uri $uri/ /index.html;
💡 官方 Quartz 默认是 情况 B(目录模式)。
如果你是 GitCode 版本,可能是 情况 A(.html 模式)。
🧪 快速判断模式(终极命令)
Bash
编辑
1if [ -f "/opt/kb/quartz/public/word22-01-李商隐.html" ]; then
2 echo "模式: .html 文件"
3elif [ -d "/opt/kb/quartz/public/word22-01-李商隐" ] && [ -f "/opt/kb/quartz/public/word22-01-李商隐/index.html" ]; then
4 echo "模式: clean URL (目录 + index.html)"
5else
6 echo "文件未生成!"
7fi
✅ 最终建议
- 清理重复的 Nginx 配置(这是当前最大障碍)
- 根据实际生成模式选择
try_files策略 - 用
curl测试,不要依赖浏览器
问题: 您的连接不是私密连接 攻击者可能会试图从 space.jingzen.cc 窃取您的信息(例如:密码、消息或信用卡信息)。详细了解此警告 net::ERR_CERT_COMMON_NAME_INVALID
你遇到的错误:
“您的连接不是私密连接”
net::ERR_CERT_COMMON_NAME_INVALID
说明:你正在通过 HTTPS (https://) 访问网站,但 SSL 证书无效或不匹配域名。
🔍 原因分析
从你之前的 Nginx 配置可以看出:
- 你配置了 HTTP → HTTPS 重定向(
return 301 https://...) - 但 SSL 证书未正确配置 或 证书的域名不匹配
具体来说:
- 证书可能是为
example.com签发的,但你访问的是space.jingzen.cc - 或者你根本没有有效证书,Nginx 使用了自签名/默认证书
✅ 解决方案(二选一)
✅ 方案 A:暂时用 HTTP 访问(快速验证网站是否正常)
既然你现在主要问题是 内容 404,建议先关闭 HTTPS 强制跳转,用纯 HTTP 调试。
步骤:
-
禁用 HTTPS 重定向
Bash
编辑
1sudo rm /etc/nginx/sites-enabled/space.jingzen.cc-https-redirect 2# 或注释掉 return 301 那个 server 块 -
确保只保留一个 HTTP server 块(如上文所述)
-
重载 Nginx
Bash
编辑
1sudo nginx -t && sudo systemctl reload nginx -
访问
http://space.jingzen.cc(注意是 http)
✅ 这样可以绕过证书问题,直接测试你的 Quartz 内容是否能加载。
✅ 方案 B:正确配置免费 HTTPS(推荐长期使用)
使用 Let’s Encrypt + Certbot 免费获取有效证书。
步骤:
-
确保域名 DNS 已解析到服务器 IP
Bash
编辑
1dig +short space.jingzen.cc 2# 应返回 49.235.191.23 -
临时允许 HTTP(Certbot 需要 80 端口验证)
-
保留一个简单的 HTTP server 块:
Nginx
编辑
1server { 2 listen 80; 3 server_name space.jingzen.cc; 4 root /var/www/html; # Certbot 会自动改 5 location /.well-known/acme-challenge/ { 6 root /var/www/certbot; 7 } 8} -
或直接用 Certbot 的 standalone 模式(更简单)
-
-
安装 Certbot 并申请证书
Bash
编辑
1sudo apt update 2sudo apt install certbot python3-certbot-nginx -y 3 4# 自动申请并配置 Nginx 5sudo certbot --nginx -d space.jingzen.cc -
Certbot 会自动:
- 申请有效证书
- 修改 Nginx 配置启用 HTTPS
- 设置自动续期
-
完成后,访问
https://space.jingzen.cc就不会再有警告
🛑 当前建议:先用 HTTP 调试
因为你还在解决 404 内容显示问题,不要让 HTTPS 证书干扰调试。
快速操作:
Bash
编辑
1# 1. 删除所有 HTTPS 相关配置(保留一个 HTTP server)
2sudo rm /etc/nginx/sites-enabled/space.jingzen.cc*
3
4# 2. 创建干净的 HTTP 配置
5cat << 'EOF' | sudo tee /etc/nginx/sites-available/space.jingzen.cc
6server {
7 listen 80;
8 server_name space.jingzen.cc;
9 root /opt/kb/quartz/public;
10 index index.html;
11 location / {
12 try_files $uri $uri/ $uri.html /index.html =404;
13 }
14}
15EOF
16
17# 3. 启用配置
18sudo ln -sf /etc/nginx/sites-available/space.jingzen.cc /etc/nginx/sites-enabled/
19
20# 4. 重载
21sudo nginx -t && sudo systemctl reload nginx
然后访问:
Text
编辑
1http://space.jingzen.cc/word22-01-李商隐
✅ 如果能打开,说明网站逻辑 OK,之后再配 HTTPS。
❌ 如果还是 404,请贴出:
Bash
编辑
1ls -l "/opt/kb/quartz/public/word22-01-李商隐"*
💡 补充:浏览器强制 HTTPS?
某些浏览器(如 Chrome)对已访问过的域名会缓存 HSTS,即使你关了 HTTPS 也会强制跳转。
解决方法:
- 用 隐身模式 访问
http://space.jingzen.cc - 或清除 HSTS 缓存(Chrome 地址栏输入
chrome://net-internals/#hsts→ Delete domain)
请先按 方案 A 操作,用 HTTP 验证内容是否可访问。成功后再用 Certbot 上 HTTPS!需
🛠️ 进阶:自动生成笔记列表(可选)
如果你不想手动维护 index.md,可以写一个脚本自动生成:
Bash
编辑
1cd /opt/kb/content
2
3# 生成 index.md(排除 index.md 自身)
4echo -e "---\ntitle: 首页\n---\n\n# 所有笔记\n" > index.md
5ls *.md | grep -v "^index.md$" | sed 's/\.md$/]]/; s/^/- [[/' >> index.md
第三步:彻底清理并重新构建
Quartz 有时会缓存文件树,建议强制清理:
Bash
编辑
1cd /opt/kb/quartz
2rm -rf .quartz-cache/ public/
3npx quartz build
💡 删除
.quartz-cache/和public/能确保完全重新生成所有内容,包括 Explorer 树。
总结操作清单
Bash
编辑
1# 1. 确保 content 目录扁平
2ls /opt/kb/content/
3
4# 2. 清理缓存并重建
5cd /opt/kb/quartz
6rm -rf .quartz-cache/ public/
7npx quartz build
8
9# 3. 重载 Nginx(虽非必须,但保险)
10sudo systemctl reload nginx
11
12# 4. 浏览器强制刷新 or 用 curl 验证
13curl -s http://space.jingzen.cc | grep "3230"
14# 应无输出
rm -rf .quartz-cache/ public/ && npx quartz build