安装
brew install nginx
配置文件
/opt/homebrew/etc/nginx/nginx.conf
配置设置和常用的nginx是一样的。默认的目录和文件:
brew info nginx
虽然 homebrew 已经安装nginx成功了。但是 nginx
并未被正确安装到Homebrew的默认目录,
brew services 可能无法找到正确的安装路径而报错。
常用命令
brew services reload nginx
brew services start nginx
brew services stop nginx
针对 Jekyll 和 markdown 的配置优化
对于本地的一些临时目录里的图片,如果按照正常的nginx请求,是进不来的。这里就要对404的请求做二次改正,这里是我最终的配置:
主要思路是
- 将匹配类似
/category/2024/01/10/
的路径段,并将其从 URI 中去掉。 - 然后,
root $new_root;
将新的root
路径设置为/Users/kelu/Workspace/blog/_posts
, - 接着使用
try_files $uri =404;
尝试访问文件。
这样,对于 Typora 等 markdown 工具,自动将图片以相对目录的方式保存下来,也可以展示在 网站上。
root /Users/kelu/Workspace/blog/_site;
index index.html;
location / {
try_files $uri $uri/ @fallback;
}
location @fallback {
# 设置新的root路径
set $new_root /Users/kelu/Workspace/blog/_posts;
# 使用正则表达式捕获组提取除了特定字符串之外的路径
rewrite ^/([^/]+/[^/]+/[^/]+/[^/]+)/(.*)$ /$2 break;
# 尝试访问新的root路径
root $new_root;
try_files $uri =404;
}