【问题标题】:Nginx - Custom configuration files locationNginx - 自定义配置文件位置
【发布时间】:2021-06-16 17:48:53
【问题描述】:

我在许多域中使用 Nginx。其中一些域具有自定义配置。我将这些文件包含在 Nginx 配置中的 server 块中。

例如:

server {
    ... some configurations things here...
    include /var/somewhere/custom.conf;
    etc.. etc.. 
}

Nginx的配置文件在里面:/etc/nginx

为了尝试将所有内容保存在一个地方,而不是到处都有我的自定义配置文件,我想将我的自定义配置文件放在 /etc/nginx/some_directory 中

我可以在 /etc/nginx 中创建一个子目录,而不会导致 Nginx 本身出现任何问题吗?我想创建 /etc/nginx/some_directory/ 并将我的许多自定义配置文件放入其中并包含它们。

我特意问这个问题,因为我不想破坏我的生产服务器上的某些东西。

【问题讨论】:

    标签: nginx nginx-config


    【解决方案1】:

    如果 nginx 不知道某个目录,它就不会碰它。你可以通过greping 来验证 nginx 代码库中的这种模式。

    但是,弄乱外部文件夹结构可能会导致文件的权限和所有权出现问题,因此要么使用为您准备的预定义文件夹 nginx(/etc/nginx/sites-enabled/etc/nginx/sites-available),您可以将其与符号链接一起使用比如nginx自己做的

    # ls /etc/nginx/sites-enabled
    default -> /etc/nginx/sites-available/default
    
    # ls /etc/nginx/sites-available
    default
    

    否则,您会遇到 C/C++ 程序员称之为未定义行为的情况,并且无法保证现在有效的方法将来会有效/nginx 不会改变,发行版维护人员可能会弄乱文件夹发行版包管理器中包的结构和权限。

    例子:

    Nginx 可能会验证完整的 /etc/nginx 树的权限和所有者 - 如果您的文件夹/文件不匹配,它可能会导致警告甚至崩溃。如果它是由包管理器安装的,则在删除包本身时可能会导致问题,例如如果包管理器尝试仅删除已知的文件夹列表+之后的父级,即/etc/nginx by rmdir 或类似。当您可以使用允许的文件夹或符号链接或您自己的文件夹时,您并不真正想要进入和调试的情况,这些文件夹不受您定义的应用程序或行为的约束。

    【讨论】:

      猜你喜欢
      • 2011-03-17
      • 1970-01-01
      • 2017-07-15
      • 1970-01-01
      • 2012-01-11
      • 1970-01-01
      • 2016-03-27
      相关资源
      最近更新 更多