究竟是 Apache 还是 Nginx?

2015-07-05 22:28:38 +08:00
 kn007

看到类似问题,v2已经有段时间没谈了,不同时间,想法应该不尽相同,开个贴问问。

目前自用着CentOS 6.6 x64,主要配置了Nginx、MySQL、PHP,次要的有Varnish、Redis、Memcache等杂七杂八的。

习惯了lnmp,虽说早期也是用着lamp,但现在对A的规则,基本忘却。。。

我想问问大家在lnmp和lamp中会选择哪者?

也欢迎补充诸如lnmpa等类型,希望能顺带写上你选择的原因。

最近有朋友跟我说帅的人早就开始用Apache,还有原先用Nginx的又回到Apache。有点不解。

个人选择lnmp的原因是,觉得Nginx比较快、处理能力强、占用低、功能性强(反代什么的)。

7779 次点击
所在节点    问与答
68 条回复
RAKE
2015-07-06 00:14:23 +08:00
PHP7就要来了,届时Nginx的fpm性能不会比Apache差(而且现在也还有hhvm)。

选Apache最大的好处就是灵活,so可以随便载入,而Nginx就必修更新二进制文件。

好像差距越来越小了。。
49
2015-07-06 00:16:50 +08:00
我觉得Apache配置略繁琐。。。
PS:这下完美了,我在pac里加入了日夜的判断,白天直连HK,夜间CN2中转,
新的pac只需要把老地址的pac改成auto
orvice
2015-07-06 00:31:23 +08:00
看情况啦,处理php apache会比较强,静态文件nginx比较快。
apache也比较稳定些,像我们这种小小,用nginx经常502什么的。。。
LINAICAI
2015-07-06 00:45:51 +08:00
反正我看到502 的都是nginx+1
maskerTUI
2015-07-06 00:49:59 +08:00
lanmp也可以呀,尤其是在访问大的时候比较好
loveminds
2015-07-06 00:55:17 +08:00
自己改的nginx,基于openresty
nlzy
2015-07-06 00:59:08 +08:00
@zonghua 反正我看过的 Apache 的 50X 直接就爆路径出来了(某几个游戏论坛)

@RAKE PHP7 已经有 Alpha2 了,我的个人博客已经用上了,性能确实比 PHP5 好很多。想要灵活可以用 tengine 啊
laogui
2015-07-06 05:21:19 +08:00
用apache十几年了,带有深厚的感情,对于普通的几万ip的网站二者差距不大,nginx处理静态文件有优势,apache 2.4后二者的差距在不断缩小,apache+varnish很好的搭配。
msg7086
2015-07-06 05:46:43 +08:00
如果你内存特别大的话就用apache,否则慎用。
我的意思是如果你有4G以上内存的话。如果只有256M那就别尝试了。
kn007
2015-07-06 07:12:41 +08:00
@RAKE 这是我爱听的。
@49 哦,好。你不是说你转战apache么,话说你不觉得昨天一直掉线抽风么?
@orvice 从来没502过。。。
@LINAICAI 我看到整台服务器瘫痪的,都是APACHE
@loveminds 章哥的组件很好!
@nlzy tengine灵活?此话怎讲?求教下。
@laogui 我目前是nginx+varnish。。。。
@msg7086 其实我是4G3核的VPS。。。
kn007
2015-07-06 07:17:46 +08:00
@nlzy 是我没仔细看,灵活是想说可以动态加载模块是吧。
msg7086
2015-07-06 07:30:16 +08:00
@kn007 那并无所谓了。
当然如果要考虑到将来的发展的话,nginx是少不了了。
至于后端的话apache也好fcgi也好应该差不多。
kn007
2015-07-06 07:45:23 +08:00
@msg7086 如果差不多,那我就还是保持着Nginx with FPM-FCGI。。。
elvba
2015-07-06 07:57:48 +08:00
当使用 PHP 作为 Apache 模块时,也可以用 Apache 的配置文件(例如 httpd.conf)和 .htaccess 文件中的指令来修改 PHP 的配置设定

举个例子,在线上肯定不能去随便重启 apache,但是碰到了 ini_set 不能设置的选项怎么办?apache 的话就可以用 .htaccess 来配置 php,而且只会对配置的目录生效,不会影响全局
kn007
2015-07-06 08:03:51 +08:00
@elvba 这个我明白。但是我生产环境没那么复杂。。。
typcn
2015-07-06 08:09:14 +08:00
@LINAICAI 因为 apache 没达到 502 的访问量就已经崩溃了
cys
2015-07-06 08:09:39 +08:00
到底是 lnmp还是 lemp
kn007
2015-07-06 08:11:18 +08:00
@typcn 我完全同意你的观点。
nginx只是返回502,而httpd却因为太多100%进程,搞垮了整台服务器,包括处在同台的数据库。
kn007
2015-07-06 08:11:53 +08:00
@cys 两者一样 nginx 读音就是engine x
kn007
2015-07-06 08:17:13 +08:00
@syhily 过来发表一下帅的人的意见,为何apache大法好^_^

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/203537

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX