使用nginx做为hiphop-php的前端服务器

Ooso 发布于2010-02-28 07:55 | 227次阅读 | 字体: 打印预览


在邮件组里看到有人问能不能把多个hiphop-php编译后的程序跑在同一个端口上,想想也是合理的要求。如果一个服务器上跑了多个站点,那肯定都得用80端口,当大家共同租用服务器的时候,这个需求更为强烈。当时我所想到的解决办法是在前面搭个nginx之类的做代理,实际编译后的程序跑在别的端口,然后没过几天就看到了这份wiki – Using nginx as front server to HipHop

简单的nginx配置示例

/etc/nginx/conf.d/ooso.conf:

server { listen *:80; server_name *.ooso.net ooso.net; location / { root __SERVER_ROOT__; index index.html index.php index.htm; } location ~ .php$ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host www.ooso.net; proxy_pass http://localhost:4247; } }

把hiphop-php编译后的代码跑在4247端口,然后通过nginx把所有对php的请求转发到这个端口,看上去就像我们平常配置的php fastcgi,不是吗?

这样做有什么好处 支持负载均衡 支持ssl 支持gzip压缩 用nginx来挡住DoS攻击 因为我们的代码需要经过编译才能上线,代码多起来这个时间还真不短,不能像之前单纯的php那样爽快覆盖就完事。把经过编译的最新代码部署在别的端口上,用nginx快速切换,应该是一个比较实际的用法。 额外的技巧

看wiki学到的额外技巧。以下配置段可以防止某些人把别的垃圾域名指向你的主机,结果被搜索引擎认为你用多个域名搞了一堆重复的内容建设,降低搜索权重。

server { listen *:80; server_name _; location / { deny all; } }


本文出处 : http://www.ooso.net/archives/545 end

上一篇:X’mas

下一篇:快速安装hiphop-php的捷径