【发布时间】:2013-04-26 14:55:14
【问题描述】:
如何在我的 nginx.conf 文件中进行系统特定的变化,以便我可以在我的开发机器和实时服务器上使用相同的文件?
nginx.conf 伪例子:
if system == mac then
user _www;
else # ubuntu
user www-data;
end
- 我可以在 Bash 中设置
nginx.conf可以读取的环境变量吗?如果是这样,阅读这些的语法是什么? - 我可以使用
nginx -g选项来提供nginx 参数吗?如果是这样,它的命令行语法是什么,以及读取nginx.conf中的参数的语法是什么?
很抱歉问这个问题,但手册对这些主题有点含糊。
【问题讨论】:
-
不要认为走这条路是明智的。这两台机器在某些方面会有所不同。在 Mac 上可以很好地复制东西很容易,但在 linux 机器上可能不行。我认为这会让你更加头疼。
-
我明白你的意思,但是你必须在服务器上对本地文件执行每一次编辑,这似乎同样令人头疼。
-
一切尽在小细节中。考虑以下(不是说它会影响你)。您已成功复制配置并且一切正常。出于某种原因,您想调整实时服务器上的一些设置。下次您复制“开发”配置时,这些编辑将丢失。也许你没有注意到。
-
我永远不会直接编辑服务器配置,而是在本地编辑并同步它。前提是我可以重复使用该文件。
-
您应该让您的部署脚本从一个充满占位符的文件中生成实际的 nginx conf:stackoverflow.com/questions/15416957/… Nginx 不会这样做 - 您需要编写自己的工具。
标签: nginx