mac 快速使用 nginx

安装

brew install nginx

image-20231226085242585

配置文件

/opt/homebrew/etc/nginx/nginx.conf

配置设置和常用的nginx是一样的。默认的目录和文件:

brew info nginx

image-20231226100551078

虽然 homebrew 已经安装nginx成功了。但是 nginx并未被正确安装到Homebrew的默认目录,brew services 可能无法找到正确的安装路径而报错。

image-20231226100814580

常用命令

image-20231226102045020

brew services reload nginx
brew services start nginx
brew services stop nginx

image-20231226102556460

image-20231226102150606

针对 Jekyll 和 markdown 的配置优化

对于本地的一些临时目录里的图片,如果按照正常的nginx请求,是进不来的。这里就要对404的请求做二次改正,这里是我最终的配置:

image-20240110下午44206031

主要思路是

  • 将匹配类似 /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;
    }

参考资料


mac 命令行使用 vscode 打开当前目录 mac 下使用 homebrew 安装 chrome