序:最近在看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. 车大棒浅谈jQuery源码(一)

    背景 因为最近辞职找工作,投了许多家公司.结果简历要么石沉大海,一点音讯都没有,要么就是邮件回复说不匹配.后面加了一些QQ群,才发现原来我工作经验年限太少了.现在深圳都是3经验起步,北京据说更加恐怖. ...

  2. requireJS 从概念到实战

    requireJS 可以很轻易的将一个项目中的JavaScript代码分割成若干个模块(module).并且requireJS推荐一个模块就是一个文件,所以,你将获得一些零碎的具有互相依赖关系的JS文 ...

  3. suse安装svn服务端和客户端的使用

    suse安装svn服务端 一. 安装服务端 配置网络安装源(suse11sp1为例) 新建11.1.repo11.1为软件源名称,可自定义文件并添加如下内容后保存 linux-e0xg:/etc/zy ...

  4. 机器学习:Python实现单层Rosenblatt感知器

    如果对Rosenblatt感知器不了解,可以先查看下相关定义,然后对照下面的代码来理解. 代码中详细解释了各步骤的含义,有些涉及到了数学公式的解释. 这篇文章是以理解Rosenblatt感知器的原理为 ...

  5. PRINCE2有用吗?

    PRINCE2项目认证--在欧美国际久负盛名,在国内近来才逐渐为业内人士所了解.PRINCE2认证2007年首入中国,目前国内参加培训并获取认证的专业人士不足五万人,PRINCE2全称为"受 ...

  6. Linux下搭建mpi集群(ubuntu下用虚拟机测试)

    一 建立SSH连接(无密码登陆) 1 SSH连接的简单介绍 SSH 为 Secure Shell 的缩写,中文翻译为安全外壳协议,建立在应用层,是一种远程连接安全协议.传统的telnet,pop,ft ...

  7. python无线网络安全入门案例

    原文链接:http://www.devx.com/security/Article/34741 翻译:诸神的黄昏 整理校对:玄魂 --- 随着⽆线⽹络在家庭和商业中的普及,新的安全挑战是⽆法避免的.保 ...

  8. kafka使用实例

    定义一个procucer package cn.vko.common.kafka; import java.util.Properties; import org.apache.commons.lan ...

  9. php调试之路

    解析php中die(),exit(),return的区别 die()停止程序运行,输出内容exit是停止程序运行,不输出内容return是返回值die是遇到错误才停止exit是直接停止,并且不运行后续 ...

  10. 原生js实现tab切换

    //通过原生js实现table切换<html><head><meta http-equiv="Content-Type" content=" ...