我正在努力弄清楚如何从Apache迁移到nginx,同时保持重写规则的灵活性,以适应开发人员的变化。这是我们当前的设置:
据我所知,在nginx中没有类似于每个目录的.htaccess。那我们怎么才能解决这个问题?我们必须使用“全局”index.php文件来解析重写吗?这可能会大大降低总体业绩。
你可能注意到了,我以前从没用过nginx。
发布于 2014-10-13 16:18:53
好的,首先,我认为您应该仔细考虑nginx是否真的会帮助您解决性能问题(根据您的评论),并在考虑部署将如何工作之前在开发环境中测试这一点。
诚然,nginx更快,而且它的多线程体系结构有助于处理高负载,但如果您希望加快的操作部分占总延迟的1%或2%以上,那么您的站点将是一个非常不寻常的PHP站点。您的瓶颈几乎肯定会出现在数据库和PHP执行中。
您可能应该首先查看PHP编译缓存(如APC)、前端代理(例如清漆或squid)、应用程序中的内部缓存(这是wordpress吗?有一些很好的缓存模块)。只将静态文件传递给nginx可能是个好主意,但最好还是考虑使用您自己的代理,或者使用内容分发网络()来处理该内容。
但是,如果您确实决定继续工作,就会想到一些工具,尽管它们是相当重的工具。您可以使用持续集成和配置管理工具(例如Jenkins和Puppet,或等效工具)将您的配置从版本控制存储库部署到您的服务器,只要它签入适当的分支。然而,这是一个需要学习和构建的大量基础设施复杂性,如果没有大量的知识、技能和关心,您最好还是让您的开发人员具有根访问权限。Apache的通过.htaccess的委托系统已经开发了很多年,您不会匆忙地复制它的安全性。
回去,用分析工具检查你的假设,看看你的正则表达式处理有多少性能问题。我主要使用了Xdebug,但是还有其他好的替代方案。
https://serverfault.com/questions/635126
复制相似问题