IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

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

某人的栖息地 2010-03-01 13:39:10 累计浏览 4,662 次
本机暂存

    在邮件组里看到有人问能不能把多个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;
    }
}

    原图已失效原图已失效

原图已失效

同分类推荐文章

  1. Vibe新开源项目 - Vaala AI Gateway (2026-05-17 02:10:19)
  2. SmartPerfetto 架构文章 Q&A:8 个深度技术问答 (2026-04-10 11:00:00)
  3. 让 AI 把我的 PHP 博客重写成 Go (2026-03-27 18:33:54)

查看更多 后端 文章 →

建议继续学习

  1. 配置Nginx+uwsgi更方便地部署python应用 (累计阅读 106,964)
  2. 使用gettext来支持PHP的多语言 (累计阅读 39,181)
  3. 搜狐闪电邮箱的 Nginx/Postfix 使用模式 (累计阅读 33,822)
  4. WordPress插件开发 -- 在插件使用数据库存储数据 (累计阅读 29,083)
  5. Paypal接口详细代码(PHP版,非API接口) (累计阅读 19,340)
  6. 记录一个软中断问题 (累计阅读 16,885)
  7. 解析nginx负载均衡 (累计阅读 16,503)
  8. 我的PHP,Python和Ruby之路 (累计阅读 13,061)
  9. include(“./file.php”)和include(“file.php”)区别 (累计阅读 12,720)
  10. 15个最好的免费开源电子商务平台 (累计阅读 12,461)