`
wj45
  • 浏览: 42927 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Nginx反向代理Apache

阅读更多
Nginx的并发连接处理能力是远超Apache的,一般都采用Nginx+FastCGI的方式。

在自己的电脑上用Nginx proxy Apache这样的非主流服务器环境一段时间了,感觉还是有点意思。由Nginx处理HTTP请求,将PHP交由后端服务器Apache处理,其余均由Nginx处理。有点负载均衡的意思。

方法很简单,不管是Windows还是Linux,先把Nginx和Apache装好。

修改Apache的httpd.conf文件,将监听端口改为8080(Listen 8080),重启。

修改Nginx的nginx.conf文件。监听端口默认为80即可。在Server部分中加入:
location ~ ^(.+\.php)(.*)$ {
    proxy_redirect off;
    proxy_set_header HOST $host;
    proxy_set_header SERVER_ADDR $server_addr;
    proxy_set_header SERVER_PORT $server_port;
    proxy_set_header REMOTE_ADDR $remote_addr;
    proxy_set_header REMOTE_PORT $remote_port;
    proxy_pass   http://127.0.0.1:8080;
}

这就是将.php文件交由后端服务器http://127.0.0.1:8080处理。
proxy_set_header是在HTTP头部中发送这些信息,Nginx反向代理Apache时影响REMOTE_ADDR等信息,需要发送真实信息。当然,使用BasicPHP框架将自动重载HTTP_REMOTE_ADDR为REMOTE_ADDR,不影响程序员编写程序。

重启Nginx,就可以正常访问服务器了,相当于把Nginx+FastCGI变成了Nginx+Apache2Handler。依旧可以看看phpinfo,由于Apache是后端服务器,所以看到的HTTP版本为1.0,不要惊讶。

对Nginx proxy Apache与单纯的Apache服务器进行了简单的压力测试,并发连接数超过100时,Nginx proxy Apache的性能就开始超越Apache了。

这样Nginx和Apache的环境在开发时都可以用到,想用FastCGI可以随时修改一下nginx.conf文件,想用Apache直接访问8080端口即可。我也同时保留了PHP5.2和PHP5.3两个PHP环境,使用起来也可以随时切换。
分享到:
评论

相关推荐

    Nginx反向代理服务器

    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4...

    nginx配置反向代理

    因此想使用nginx做为反向代理apache.整个配置安装过程很简单.在考虑高并发的情况下,在安装前就做了些优化.目前配置能抗住3000以上并发.好像不是特别大哦?呵~~ 但足以~~ 只是还有少量499问题..期待有人跟我讨论解决

    Nginx之proxy_redirect使用详解

    今天在做nginx反向代理apache的时候出了一点点问题,原来后端apache用的端口是8080通过反向代理后,使用wireshark抓包发现location头域数值为http://192.168.1.154:8080/wuman/  如果把这个返回给客户端肯定是不...

    weblogic集群安装及nginx反向代理及负载均衡配置

    weblogic集群安装及nginx https反向代理及负载均衡配置

    Nginx服务器搭建反向代理全攻略

    因此想使用Nginx反向代理apache.整个配置安装过程很简单.在考虑高并发的情况下,在安装前就做了些优化.目前配置能抗住3000以上并发.好像不是特别大哦?呵~~ 但足以~~ 只是还有少量499问题..期待有人跟我讨论解决. 第1...

    nginx反向代理配置及优化.doc

    因此想使用nginx做为反向代理apache.整个配置安装过程很简单.在考虑高并发的情况下,在安装前就做了些优化.目前配置能抗住3000以上并发.好像不是特别大哦?呵~~ 但足以~~ 只是还有少量499问题..期待有人跟我讨论解决

    反向代理Nginx

    Nginx反向代理 server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; root E:\yuehou\git\web-h5\dist; location / { try_files $uri $uri/ /index....

    CentOS基于nginx反向代理实现负载均衡的方法

    本文实例讲述了CentOS基于nginx反向代理实现负载均衡的方法。分享给大家供大家参考,具体如下: nginx做负载均衡的优点: 1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的...

    实战Nginx:取代Apache的高性能Web服务器

    本书系统地介绍了nginx与php、ruby、python结合的使用方法,nginx作为反向代理与负载均衡的配置与优化,以及nginx模块的开发方法,并给出了新浪播客、搜狐博客、六间房、discuz!官方论坛、迅雷在线、赶集网使用nginx...

    实战Nginx:取代Apache的高性能Web服务器 中文版

    nginx是俄罗斯人igor sysoev编写的一款高性能的http和反向代理服务器。nginx选择了epoll和kqueue作为网络i/o模型,在高连接并发的情况下,内存、cpu等系统资源消耗非常低,运行稳定。  本书系统地介绍了nginx与php...

    正向代理,apache,反向代理,Nginx

    配置正向代理服务器使用,Nginx只能做反向代理,Apache24可以作正向代理

    利用SSL配置Nginx反向代理的简单步骤

    在本教程中,我们将讨论如何使用SSL配置Nginx反向代理。因此,让我们从使用SSL配置Nginx反向代理的过程开始。 先决条件 1.后端服务器:为了本教程的目的,我们使用在端口8080的localhost上运行的tomcat服务器 注意...

    实战Nginx.取代Apache的高性能Web服务器

    10.1 Nginx反向代理与负载均衡类网站应用案例 10.2 Nginx+PHP类网站应用案例 第11章 Nginx的非典型应用实例 11.1 用HTTPS(SSL)构建一个安全的Nginx Web服务器 11.2 采用Nginx搭建FLV视频服务器 11.3 Nginx+...

    Nginx:取代apache的高性能服务器

    Nginx (“engine x”) 是俄罗斯人Igor Sysoev编写的一款高性能HTTP 和反向代理服务器。Nginx选择了epoll和kqueue作为网络I/O模型,在高连接并发的情况下,Nginx是Apache服务器不错的替代品,它能够支持高达50 000个...

    Nginx作为反向代理时传递客户端IP的设置方法

    因为架构的需要采用多级 Nginx 反向代理,但是后端的程序获取到的客户端 IP 都是前端 Nginx 的 IP,问题的根源在于后端的 Nginx 在 HTTP Header 中取客户端 IP 时没有取对正确的值。 同样适用于前端是 Squid 或者...

    实战Nginx:取代Apache的高性能Web服务器 第一章

    10.1 Nginx反向代理与负载均衡类网站应用案例 10.2 Nginx+PHP类网站应用案例 第11章 Nginx的非典型应用实例 11.1 用HTTPS(SSL)构建一个安全的Nginx Web服务器 11.2 采用Nginx搭建FLV视频服务器 11.3 Nginx+...

    docker-registry-nginx:使用docker-compose在nginx反向代理后面设置Docker注册表v2的简单方法

    docker-registry-nginx 使用docker-compose在nginx反向代理后面设置 v2的简单方法。为什么? 我想用我已经知道的工具来保护我的docker注册表,例如nginx,它提供IP限制,基本访问身份验证和TLS。其他选择您可以按照...

    nginx做反向代理,多台apache2.并且配置ssl的域名配置

    nginx做反向代理,多台apache2.并且配置ssl的域名配置

    nginx 作为反向代理实现负载均衡的例子

    当然了Apache的 mod_proxy和mod_cache结合使用也可以实现对多台app server的反向代理和负载均衡,但是在并发处理方面apache还是没有 nginx擅长。 1)环境: a. 我们本地是Windows系统,然后使用VirutalBox安装

Global site tag (gtag.js) - Google Analytics