序:最近在看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处理了!

nginx与apache配合反向代理技术1的更多相关文章

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

    注意,上次我们只是简单的在同一台服务器模拟搭建了一个新的http服务器(启用了8080端口),使用的是apache,从而模拟了多台服务器实现的Nginx反向代理,通过Nginx向上游代理服务器发送请求 ...

  2. Nginx或Apache通过反向代理配置wss服务

    nginx配置参考 前提条件及准备工作: 1.假设ws服务监听的是8282端口(websocket协议) 2.已经申请了证书(pem/crt文件及key文件)放在了/etc/nginx/conf.d/ ...

  3. 使用nginx和tomcat配置反向代理和动静分离

    背景 本人主修的编程语言是Java语言,因此最开始接触的Web开发也是JSP技术.使用Java开发的Web应用需要部署在专门的服务器程序上运行,比如Tomcat.但是一般很少会有人将Tomcat作为用 ...

  4. 通过Nginx+tomcat+redis实现反向代理 、负载均衡及session同步

    一直对于负载均衡比较陌生,今天尝试着去了解了一下,并做了一个小的实验,对于这个概念有一些认识,在此做一个简单的总结 什么是负载均衡 负载均衡,英文 名称为Load Balance,指由多台服务器以对称 ...

  5. APACHE 与IIS同时存在的情况下,给APACHE添加反向代理 共用80端口

    一.首先打开IIS,将IIS的端口改成81,不要让IIS占用了80端口 二.打开APACHE的httpd.conf配置文件,将里面的端口配置成80 三.打开APACHE的虚拟目录配置文件,如:http ...

  6. apache做反向代理

    实验目的 通过apache实现反向代理的功能,类似nginx反向代理和haproxy反向代理 环境准备 逻辑架构如下 前端是apche服务器,监听80端口,后端有两台web服务器,分别是node1和n ...

  7. Nginx插件之openresty反向代理和日志滚动配置案例

    Nginx插件之openresty反向代理和日志滚动配置案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.openresty介绍 1>.Nginx介绍 Nginx是一款 ...

  8. 【架构师之路】Nginx负载均衡与反向代理—《亿级流量网站架构核心技术》

    本篇摘自<亿级流量网站架构核心技术>第二章 Nginx负载均衡与反向代理 部分内容. 当我们的应用单实例不能支撑用户请求时,此时就需要扩容,从一台服务器扩容到两台.几十台.几百台.然而,用 ...

  9. Apache 如何反向代理tomcat并且实现Session保持

    简介 LAMT=Linux+Apache+MySQL+Tomcat: Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器: 在中小型系统和并发访问用户不是很多的场合下 ...

随机推荐

  1. 使用spring webflow,在前台页面中如何显示后端返回的错误信息

    刚刚接触spring webflow,相关的资料并不是很多,并且大都是那种入门的 .xml文件的配置. 用到的CAS 最新的4.0版本用的就是web-flow流,前台页面使用的是表单提交.于是我就碰到 ...

  2. SpringMVC中@RequestBody引起的400异常处理,返回校验失败具体信息

    问题 使用@RequestBody接收一个json数据的时候,如果传入的参数不符合条件,就会直接返回400的error page. 但究竟是为什么会400并没有抛出来.这对大量参数字段的我们来说,排错 ...

  3. mybatis的学习笔记

    前几天学习了mybatis,今天来复习一下它的内容. mybatis是一个基于Java的持久层框架,那就涉及到数据库的操作.首先来提出第一个问题:java有jdbc连接数据库,我们为什么还要使用框架呢 ...

  4. VisualVM监控远程主机上的JAVA应用程序

    使用VisualVM监控远程主机上JAVA应用程序时,需要开启远程主机上的远程监控访问,或者在远程JAVA应用程序启动时,开启远程监控选项,两种方法,选择其中一种就可以开启远程监控功能,配置完成后就可 ...

  5. CrawlScript脚本语言实现网络爬虫

    前段时间我们学习了几种爬虫技术,我们来回顾一下,webCollector,htmlParser,Jsoup,各有优劣,但是如果能灵活运用,其实都是很不错的.那么,今天呢,我们来学习一种脚本语言,这是一 ...

  6. wamp虚拟服务器

    1.安装好wampServer 2.修改配置文件包含 vhosts 文件,操作: 打开apache的配置文件httpd.conf,并去掉#Include conf/extra/httpd-vhosts ...

  7. Python使用心得之魔法参数**kw

    通过设置字典类型参数直接传递给接收魔法参数(**kw)的方法,对应赋值.示例如下: jdbcConnectionDict = {, , 'database': 'test', 'charset': ' ...

  8. C#封装MongoDB工具类库

    什么是MongoDB MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供可扩 ...

  9. 关于VO中的Attribute的问题

    对于新手来说,有些时候会遇到VO中的Attribute的各种问题; 总结如下:1,你页面上输入了值,但是点击保存之后值并不能存到数据库,这个是因为该字段在VO中不是基于EO的  2,你将一个VO中的E ...

  10. jQuery控制input不可编辑

    1.开启disabled,是input不可以编辑 $("#id").attr("disabled","disabled"); 2.关闭dis ...