为什么php的lnmp这么流行?

其实我说的lnmp,指的主要是nginx+php-fpm

我说说我觉得不好的原因吧(主要对标nodejs和go):

  1. 环境配置比较复杂,需要安装nginx + php-fpm(这个默认编译)

  2. 对docker不太友好,docker最佳实践都是一个应用一个容器,这个需要安装一套。

  3. fastcgi + php-fpm个人感觉并发效率不高,内存消耗大。

我之前想着既然都写有php-fpm了,为啥不用c写一套http类库,类似于nodejs和go。

后面搜索了下好像目前已经有一个了(还是国人写的)swoole

但是感觉目前并不是特别流行,我觉得这种方式的优势主要是配置部署方便,效率高。但是没有基于swoole的比较完善出名的框架,例如laravel,ci,Yii等,可能这也是不流行的原因。

php可以单独完成http模块,不知道为何要依赖nginx。

不知道大家是怎么看的?欢迎大家一起探讨

阅读 3k
1 个回答

很多非动态请求走nginx可以极大降低消耗,可以去找找文章看一下性能对比,或者自己进行测试,不是一个量级的性能。
环境配置这方面,php一般来讲肯定是要编译的,nginx可以直接从仓库拉取。

此外nginx可以实现很多功能,反向代理,sni代理,等等,可适配很多不同场景(特别是一台服务器运行多种语言)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题