nginx apache 配置反向代理服务器

14 篇文章 1 订阅
6 篇文章 0 订阅

nginx 由于其高效的并发处理能力,而开始被越来越多的人接受和认可,现在很多网站使用lnmpa架构,用nginx做反向代理和负载均衡非常简单,支持两个用法 1个proxy, 1个upstream,分别用来做反向代理,和负载均衡。nginx不自己处理php的相关请求,而是把php的相关请求转发给apache来处理.反向代理后端如果有多台apache服务器,自然可形成负载均衡,

但proxy_pass如何指向多台服务器?

把多台服务器用upstream指定绑定在一起并起个组名,

然后proxy_pass指向该组


b. 因此重新配置nginx.conf为:
>;首先 在nginx的配置文件nginx.conf的http模块中添加,服务器集群server cluster(我们这里是两台)的定义:
upstream  myCluster{
server 127.0.0.1:80;
server 158.37.70.143:80;
}
表示这个server cluster包含2台服务器
>;然后在server模块中定义,负载均衡:
location ~ \.php$ {
proxy_pass http:// myCluster; # 这里的名字和上面的cluster的名字相同
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;
}


下面介绍如何进行反向代理,这里给大家一个例子,感兴趣的可以自己试验一下。
首先安装nginx并绑定到80端口,安装apache绑定监听8080端口。然后设置nginx服务器目录为www_nginx,apache服务器的目录为www_apache,分别在2个目录中新建一个index.html文件,里面分别写上nginx,apache2个单词就足矣。
然后我们在配置nginx的配置文件,一般为nginx.conf这个文件,修改里面的配置信息。
location / {
 proxy_pass 127.0.0.1:8080;
}
同时启动nginx和apache,访问127.0.0.1的时候,你会发现一个神奇的事情,尽然输出apache,明明nginx服务器目录里面根本没有输出,而是apache,那是因为nginx进行了反向代理,去找apache监听的8080端口要内容,然后apache返回给他处理后的结果。
这是一个简单的例子,实际中我们可以让nginx处理静态页面,处理图片,css, js等文件,而让apache处理动态文件。比如我们可以这样修改:

location ~ \.PHP$ {

  proxy_pass 127.0.0.1:8080;

}

这样只是php文件才交给apache处理,其他的还是nginx来处理。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值