我们有一个基于FastCGI的Web框架,我们在内部用于一些关键任务应用程序.因此,转向现有的PSGI投诉框架并不是很实际.我们已经成功地将我们的框架从普通的旧CGI.pm转移到了Plack处理程序.
但是,在Apache的配置文件中有很多以mod_rewrite规则形式的路由逻辑.如果我们在Apache中使用Plack :: Handler :: FCGI通过反向代理部署使用我们新的PSGI兼容框架的应用程序,我想mod_rewrite规则可以继续在那里工作,并进行一些调整.(计划这样做,但尚未尝试过).
然而,阅读Plack :: Middleware :: Rewrite作为mod_rewrite的替代品引起了我的兴趣.
我是否需要将mod_rewrite规则转换为Plack :: Middleware :: Rewrite规则并将所有应用程序逻辑完全移至Perl以获得PSGI的全部优势?
我认为答案是肯定的,但我没有部署PSGI应用程序的经验,所以如果有人可以分享他们的经验以确保我走上正确的道路,我会很感激.
子问题 PSGI的想法是关于让Web服务器尽可能少地(以及尽可能快地)执行并将所有其他内容委托给应用程序服务器(中间件)吗?**
PSGI 的好处是部署灵活性。只要 mod_rewrite 中有规则,您就只能使用 Apache,因此无法充分享受 PSGI 的好处。
然而,只要您对 Apache 感到满意,我就没有看到重写所有规则的强烈动机。如果 mod_rewrite 让你头疼,那就去做吧。
还可以考虑将路由逻辑放入主应用程序代码中,例如Router::Simple或Path::Router
顺便说一句,除非您真的很喜欢 FastCGI,否则可能没有理由使用 Plack::Handler::FCGI。将 Apache 保留为反向代理,并且您的应用程序在 Starlet 或其他 Plack Web 服务器之一中运行。