nginx与apache配合反向代理技术1

序:最近在看Dimitri Aivaliotis的《Mastering Nginx》,刚好跆拳道课下班在路上看了反向代理服务器,准备在自己的博客VPS尝试一下 

web代理服务器可以实现分布式响应用户请求的特点,减轻或者说分散下游服务器的压力。合理精密的配置可以达到负载均衡的奇效!下面我们来试着先实现Nginx的反向代理功能。

原料:已经搭建好的LNMP网站服务器一台,为了代理,必须要已经存在一台服务器,详细搭建过程,请查阅本博客的ubuntu搭建LNMP服务器。

 

第一步:搭建上游服务器:apache

sudo su //进root模式

//安装apache2服务器,会提示无法启动,因为80端口被nginx占了

apt-get install apache2

修改apache配置文件

vim /etc/apache2/ports.conf //修改端口8080 

Listen 8080

<IfModule ssl_module>
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

vim /etc/apache2/apache2.conf //修改apache网站目录proxy_www

<Directory /var/proxy_www>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

vim /etc/apache2/sites-available/000-default.conf //修改默认站点文件

<VirtualHost *:8080>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/proxy_www

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

mkdir /var/proxy_www //创建apache的网站目录作为代理

chmod -R 777 /var/proxy_www //为了快速实验,直接赋予所有权限

cd /var/proxy_www

vim ./index.html //随便新建一个测试文件,测试apache站点

 

sudo service apache2 restart //重启apache2

浏览器输入网址:8080端口访问出现测试页面,apache服务器搭建完成

 

第二步:配置nginx为web反向代理服务器

介绍:Nginx能够作为一个反向代理终结来自于客户端的请求,并且向上游服务器打开一个新的请求。

修改default站点配置文件

vim /etc/nginx/sites-available/default

修改location如下

location /apache {
        proxy_pass http://127.0.0.1:8080;
 }

效果:浏览器请求“地址/apache(例如:www.gxy.gift/apache)”,这么一个URL请求就会把请求转发到到apache服务器,由apache处理访问,我们可以故意输错/apachessss这样来查看是否显示以下这样的apache错误页来验证请求被apache处理了!

 

posted @ 2017-01-21 13:02  devilyouwei  阅读(418)  评论(0编辑  收藏  举报