码迷,mamicode.com
首页 > Web开发 > 详细

linux+apache+nginx实现,反向代理动静分离

时间:2018-12-15 10:28:37      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:apache服务器   需要   问题   功能   遇到   proxy   main   charset   云服务器   

在我们开发的过程中,一定会遇到,负载均衡方面的问题。下面我们,做一个小例子:使用nginx+apache实现反向代理,动静分离。

这里apache、php、nginx的安装就不做赘述了,不懂的朋友可以看看我其他的文章,或者去百度搜索了解一下。

现在,我们的电脑上有apache、nginx、php,其中php为apache服务。

我们想要实现的是,当请求发送到nginx的时候,nginx会去判断是不是php请求,如果是,那么将php请求反向分发给apache服务器。

技术分享图片

其实,我们利用nginx要实现上面的功能,很简单,只需要在nginx.conf配置文件中,加上下面配置就行。(红色部分代码)

server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root html;
index index.html index.htm;
}
location ~ \.php$ {
proxy_pass http://111.231.226.228:8080;             #我用的是云服务器,大家如果是本地虚拟机的话,就配置自己的ip+apache的监听端口号
}

#error_page 404 /404.html;

然后重启nginx:./sbin/nginx -s reload    (我的/sbin目录是位于nginx安装目录下的/usr/local/nginx)

 

接下来就是对apache进行配置了。

首先,配置httpd.conf,以下几个地方是需要配置的。

技术分享图片

技术分享图片

技术分享图片

技术分享图片

其次,配置httpd-vhosts.conf

技术分享图片

现在,我们来看效果。

我们先把,我们刚才写的nginx反向代理配置注释掉,看访问nginx下的php请求,会是什么效果。

我们在nginx的html目录下,写了一段简单的php代码

<?php
echo ‘123‘;
?>
<img src="./test.jpg" />

技术分享图片

现在,我们打开我们设置的nginx反向代理,看以下效果。

技术分享图片

重启nginx:/usr/local/nginx/sbin/nginx -s reload

我们可以看到请求成功了。

技术分享图片

至此,我们的这个nginx+apache实现方向代理,动静分离的小实验就成功的结束了。

下面我们可以看一下,nginx和apache的access.logs文件。

nginx的access log

技术分享图片

apache的access log

技术分享图片

 

从上面的log文件中,我们可以清晰的看到,html的image请求,是nginx http服务器响应的,而我们的php请求是apache http服务器响应的。

是不是很神奇!!!

 

linux+apache+nginx实现,反向代理动静分离

标签:apache服务器   需要   问题   功能   遇到   proxy   main   charset   云服务器   

原文地址:https://www.cnblogs.com/573734817pc/p/10122441.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!