nginx和apache各有千秋,前者专注前端代理,后者生态圈有大量协同软件,两者交叉的圈子的前端代理行为也有诸多细节不同,个人建议,如果是开源软件,请本地使用apache作为主代理环境,远程服务端和本地测试端使用nginx作为测试环境,以做到兼容不同的前端代理(重写,探测等功能点)。

简单说明一下两者勾搭HHVM/Node,以及Anit,先写apache吧。

有部分线上环境,甚至会使用nginx作为apache前端,不过如果本地测试(非模拟),不必如此。 apache文档,如果你用的不是trunk版,请选择自己的版本。

先发本地Apache配置示例:

主配置文件因人而异,如果需要重写,勿忘开启。

不建议内容都写在主目录中,请使用子文件引入:

默认打底配置,超时时间如果是下载机,请适当调整。

如果你的站点没有使用fast—cgi方式的话,可以这样设置:

如果你要配合hhvm之类的fast-cgi的程序使用

默认站点以IP访问的时候你可以禁止访问,也可以允许指定的IP或者UA访问(比如linode logview等),如果是资讯类站点,可以考虑把流量引导站点内。

关于Apache 有一个配置细节,就是因为程序是顺序解析执行,需要先定义document directory,在定义index 文件,防止程序自己找不到报错。 有的童鞋经常看到自己的站点被垃圾蜘蛛或者扫描器爬,不妨添加一些简单的规则,去过滤这类爬取。