我已经搜索了Stack Overflow的直接答案,但还没找到。我注意到我的nginx安装有三个名为
的文件夹etc/nginx/sites-available
etc/nginx/sites-enabled
etc/nginx/conf.d
如果我只想直接在etc/nginx/nginx.conf
文件中工作并删除include
中包含这些项目的nginx.conf
行,是否真的需要这些?这些目录是否用于其他任何会在我删除它们时会搞砸的内容?
答案 0 :(得分:9)
不,如果您在nginx.conf中正确定义服务器块,则不需要它们,但强烈建议。正如您所注意到的,它们仅用于nginx.conf中的Outer text with [some random text title="My Title Here"], and more text
。
为了好奇,你有没有理由不想使用它们?它们非常有用;更容易添加新网站,禁用网站等。而不是有一个大的配置文件。这是nginx文件夹布局的最佳实践。
答案 1 :(得分:1)
这不是必须的,但如果您在盒子上托管多个网站,这是最佳做法。
通过在nginx.conf上保留http上下文和通用指令(例如ssl_dhparam,ssl_ciphers,甚至gzip设置等)以便在所有站点上应用它将更容易管理。
在etc / nginx / sites-available /上保留特定于站点的服务器上下文(例如ssl-certificate,location directive等),并将配置文件命名为your-domain.conf。 etc / nginx / sites-enabled中的文件只是指向etc / nginx / sites-available文件的链接。
答案 2 :(得分:1)
您应该在sites-available
目录中编辑仅文件。
永远不要编辑sites-enabled
目录中的文件,否则如果编辑器内存不足或者出于任何原因,它会收到SIGHUP或SIGTERM,则可能会出现问题。
例如:如果您使用nano
编辑文件sites-enabled/default
并且内存不足,或者出于任何原因,它会收到SIGHUP或SIGTERM,那么nano
将会在default.save
目录中创建名为sites-enabled
的紧急文件。因此,sites-enabled
目录中会有一个额外的文件。这将阻止Apache或NGINX启动。如果您的网站正常运行,它将不再存在。您将很难在日志中找到与default.save
文件相关的内容,然后将其删除。
在上面的示例中,如果您正在编辑sites-available
目录中的文件,则不会发生任何错误。文件sites-available/default.save
已经创建,但它不会对sites-available
目录造成任何伤害。
答案 3 :(得分:1)
我在NGINX The Complete NGINX Cookbook的official site中看到了下面的评论!
/etc/nginx/conf.d/目录包含默认的HTTP 服务器配置文件。该目录中以.conf结尾的文件 包含在/ etc /中的顶级http块中 nginx / nginx.conf文件。最佳做法是利用 并以这种方式组织您的配置,以保持您的 配置文件简明扼要。 在某些软件包存储库中,此 文件夹被命名为启用站点,并且配置文件已链接 从名为site-available的文件夹中;此约定已弃用。