本教程将指导你如何在 Nginx Proxy Manager (NPM) 中配置自定义 Nginx 指令,以便直接从服务器上的指定目录提供静态文件。这对于托管网站资源、图片、文档或任何不需要后端处理的静态内容非常有用。

步骤一:创建或编辑代理主机

  1. 登录你的 Nginx Proxy Manager 面板。
  2. 导航到 “Proxy Hosts” (代理主机)。
  3. 点击 “Add Proxy Host” (添加代理主机) 创建一个新的主机,或者编辑一个现有的主机。

步骤二:配置代理主机基本信息 (占位符)

由于我们将使用自定义 Nginx 配置来直接提供静态文件,NPM 的“Forward Hostname / IP”和“Forward Port”字段将不会被实际用于静态文件请求。你可以填写一个本地占位符,例如:

  • Domain Names (域名): 填写你希望访问静态资源的域名 (例如 s.yourdomain.com)。
  • Scheme (协议)http
  • Forward Hostname / IP (转发主机名/IP)127.0.0.1
  • Forward Port (转发端口)80 (或任何其他未使用的本地端口,如 8080)
  • 确保勾选 “Cache Assets” 和 “Block Common Exploits” (可选,根据需要)。
  • 在 “SSL” 标签页配置你的 SSL 证书 (推荐)。

步骤三:添加自定义 Nginx 配置

  1. 切换到 “Advanced” (高级) 标签页。

  2. 在 “Custom Nginx Configuration” (自定义 Nginx 配置) 文本框中,粘贴以下 Nginx 指令:

    location / {
        root /data/www;  # 替换为你的静态文件实际存放路径
        index index.html index.htm; # 定义默认索引文件,可根据需要添加
        try_files $uri $uri/ =404; # 尝试查找文件或目录,否则返回404
    }
    
    • root /data/www;必填。指定 Nginx 查找静态文件的根目录。请务必将其替换为你服务器上实际存放静态文件的路径。
    • index index.html index.htm;: 当请求一个目录时(例如 https://s.zyunt.cn/),Nginx 会尝试在该目录下查找并返回 index.html 或 index.htm 文件。
    • try_files $uri $uri/ =404;: 这是一个常用的指令,用于检查请求的文件或目录是否存在。如果 $uri (请求的文件) 存在,则直接返回;如果 $uri/ (请求的目录) 存在,则尝试返回目录下的 index 文件;如果两者都不存在,则返回 404 错误。

步骤四:保存并放置静态文件

  1. 点击 “Save” (保存) 按钮应用配置。

  2. 在你的服务器上,将静态文件(例如 logo.png)放置到你在 root 指令中指定的目录 (/data/www/)。

    例如,如果你将 logo.png 放在 /data/www/ 目录下。

步骤五:访问验证

现在,你可以通过配置的域名和文件路径来访问你的静态资源了。

例如,如果你的域名是 https://s.zyunt.cn,并且你在 /data/www/ 放置了 logo.png,那么访问路径将是:
https://s.zyunt.cn/logo.png

重要提示:

  • 确保你在 root 指令中指定的目录 (/data/www) 及其内容对 Nginx 进程是可读的。否则,Nginx 将无法访问这些文件。
  • 本教程中的 location / 块会处理所有根路径下的请求。如果你的静态文件路径与某个后端服务的路径冲突,你可能需要更具体的 location 块(例如 location /static/ { ... })来避免冲突。