我正在试图确定在什么是木偶和什么是“应用程序”的一部分之间画线。 我有点困惑的地方是nginx conf.d文件。
在Apache中,我将这些文件标记为.htaccess,因此是应用程序的一部分。 但是,在nginx中没有.htaccess文件; 他们必须进入conf.d目录并且服务器退回。
不够公平,但是在打包应用程序和用puppet部署服务器configuration时,我发现服务器configuration和应用程序之间的界线比较模糊。
如果我把文件放在应用程序包(我们使用RPM),那么我在应用程序中有服务器configuration。 但是,如果我把这些文件放在puppet中,应用程序作者希望做一个修改(添加另一个位置,或者重写等),那么我必须更新puppet,现在下一个版本的应用程序依赖于puppet release 。
看起来像鸡和鸡蛋问题给我。 最适合放置这些conf.d文件的地方是puppet还是应用程序RPM?
我认为这里的正确答案是由商业考虑而不是技术驱动的。
一般来说,我的build议是:如果开发人员将这个文件作为应用程序的一部分来维护,那么他们应该将其作为应用程序的一部分打包并发送。 但是如果他们的改变打破了生产,他们也必须承担责任。
如果你维护这个文件,或者如果他们没有责任,如果他们打破生产,那么你应该维护文件,并把它放在傀儡。
但是,在nginx中没有.htaccess文件;
正确
他们必须进入conf.d目录并且服务器退回。
不正确; 他们可以去任何你想要的地方,你只需要包括这样的文件或整个目录:
您可以包含任何您想要的目的的configuration文件。 包括vhosts / *。conf;
不够公平,但是当涉及到打包应用程序和使用puppet部署服务器configuration时,我发现服务器configuration和应用程序之间的界线比较模糊
完全相反,因为一个不同的概念:使用.htaccess将应用程序和服务器configuration混合在一起,而在nginx-land中,通常让应用程序处理请求。 nginx作为服务于REST风格的URL的应用程序服务器的反向代理服务器,远远超过了像typo3这样的东西,而使用huuuge .htaccess来创build友好的url而不是/index.php?id=23&project=23&page=13&lang=fr
回到你的问题:迈克尔说什么,再加上(稍微OT):我们使用面料立即/互动的变化(傀儡运行间隔设置为15分钟),因为我们想要
但是YMMV。