为什么php的lnmp这么流行?
其实我说的lnmp,指的主要是nginx+php-fpm
我说说我觉得不好的原因吧(主要对标nodejs和go):
环境配置比较复杂,需要安装nginx + php-fpm(这个默认编译)
对docker不太友好,docker最佳实践都是一个应用一个容器,这个需要安装一套。
fastcgi + php-fpm个人感觉并发效率不高,内存消耗大。
我之前想着既然都写有php-fpm了,为啥不用c写一套http类库,类似于nodejs和go。
后面搜索了下好像目前已经有一个了(还是国人写的)swoole
。
但是感觉目前并不是特别流行,我觉得这种方式的优势主要是配置部署方便,效率高。但是没有基于swoole
的比较完善出名的框架,例如laravel
,ci
,Yii
等,可能这也是不流行的原因。
php可以单独完成http模块,不知道为何要依赖nginx。
不知道大家是怎么看的?欢迎大家一起探讨
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
很多非动态请求走nginx可以极大降低消耗,可以去找找文章看一下性能对比,或者自己进行测试,不是一个量级的性能。
环境配置这方面,php一般来讲肯定是要编译的,nginx可以直接从仓库拉取。
此外nginx可以实现很多功能,反向代理,sni代理,等等,可适配很多不同场景(特别是一台服务器运行多种语言)