2014年1月13日 18:15:25

同一个域名下,不同uri走不同的应用(不同的web根目录)

实现方式:

Apache分别监听两个端口,对应不同的应用

nginx监听80端口,利用location指令根据匹配目录的不同将请求转发到不同的端口

nginx和Apache都在同一台windows上

nginx下载windows版本,解压->简单配置下->保证能启动nginx

命令行启动时要注意:要进入到解压文件内去执行nginx.exe不能简单的写到环境变量了事

下边是我的主配置文件(这些配置足够启动nginx了):

nginx.conf

 #user  nobody;
worker_processes ; error_log F:/vc9server/nginx/logs/error.log;
error_log F:/vc9server/nginx/logs/error.log notice;
error_log F:/vc9server/nginx/logs/error.log info; pid F:/vc9server/nginx/logs/nginx.pid; events {
worker_connections ;
} http {
include mime.types;
default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; access_log F:/vc9server/nginx/logs/access.log main; sendfile on; #跟内核交互用 缓存
#tcp_nopush on; #keepalive_timeout ;
keepalive_timeout ; server_names_hash_bucket_size ;
include apache.conf; #主要的反向代理配置都写在这个文件里了
}

apache.conf

 ##2014年1月11日
#反向代理
upstream zend
{
server 127.0.0.1:;
} upstream yaf
{
server 127.0.0.1:;
} server
{
listen ;
server_name www.example1.com; location ^~ /abc {
proxy_pass http://zend; #转发到上边定义的zend代理中去 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;
} location /
{
proxy_pass http://yaf; #转发到上边定义的yaf代理中去 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;
proxy_set_header X-Scheme $scheme;
}
}
server
{
listen ;
server_name www.example2.com; location /
{
proxy_pass http://zend; #转发到zend代理 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;
}
}

解释:

1.请求 example1 时

URI为/abc开头的转发到上边定义的zend代理,其余的URI请求转到yaf代理

2.请求 example2 时

将所有请求转发到zend代理

3.配置中的proxy_set_header 是将nginx得到的请求信息(头信息等等)复制一份给代理服务器

4.nginx指令要有分号结尾,监听多个域名时,域名间用空格隔开后再以分号结尾

最后

在Apache中监听apache.conf中zend,yaf两个代理指定的域名+端口 或 ip+端口,并作相应的配置

nginx 和 Apache重启后浏览器里访问试试

nginx 反向代理Apache的更多相关文章

  1. nginx 反向代理 apache 服务

    反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时 ...

  2. 关于修改banner信息;nginx反向代理apache应用

    本周实验 1. Linux下Apache部署一个php页面,返回http数据包中查看server信息,修改Apache 配置使server banner自定义. 2. nginx设置反向代理,代理上面 ...

  3. 腾讯云Centos下Nginx反向代理Apache+Tomcat

    1. 安装Apahce, PHP, MySQL以及php连接mysql库的组件#yum -y install httpd php mysql mysql-server php-mysql     // ...

  4. nginx 反向代理apache服务器 配置java与PHP共存环境

    listen 80; listen 443; ssl on; ssl_certificate /passport.crt; ssl_certificate_key /passport.key; ssl ...

  5. nginx 反向代理 与 Apache backend的配置联合配置

    nginx 反向代理 与 Apache backend的配置联合配置: 说明: nginx 将http映射到Apache上的特定子目录. 配置方法步骤: 1.  设置域名, 子域名映射到指定服务器ip ...

  6. 15 nginx反向代理实现nginx+apache动静分离

    一:nginx反向代理实现nginx+apache动静分离-------------概念--------------------------- nginx反向代理服务器+负载均衡 用nginx做反向代 ...

  7. 配置LANMP环境(7)-- 配置nginx反向代理,与配置apache虚拟主机

    一.配置nginx反向代理 1.修改配置文件 vim /etc/nginx/nginx.conf 在35行http下添加一下内容: include /data/nginx/vhosts/*.conf; ...

  8. Nginx反向代理部署指南

    一.反向代理 我们都知道,80端口是web服务的默认端口,其他主机访问web服务器也是默认和80端口进行web交互,而一台服务器也只有一个80端口,这是约定俗成的标准. 我们来看下面两个场景: 1.服 ...

  9. Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

    转载:http://freeloda.blog.51cto.com/2033581/1288553 大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负 ...

随机推荐

  1. appearance格式化表单元素的边框,在chrome和FF下鼠标点击时会多出一个蓝色边框

    可在元素上添加样式 -webkit-appearance: none; -moz-appearance:none;outline:none; 清除掉元素所有的外貌,以便自定义风格

  2. 什么是GPS的冷启动、温启动和热启动?

    对于GPS多种启动方式的概念还很模糊,冷启动.热启动.温启动各种专业术语铺天盖地,使得许多用户眼花缭乱. 我们简单从定义上了解一下几种GPS启动的方式,GPS开机启动分为冷启动.温启动.热启动三种. ...

  3. django学习--1

    1 安装 安装anacanda后 conda install django 2 新建项目 django-admin.py startproject HelloWorld 创建完成后我们可以查看下项目的 ...

  4. redis集群的测试

    原文:http://blog.sina.com.cn/s/blog_53b45c4d0102wg10.html 1.测试存取值 客户端连接集群redis-cli需要带上 -c ,redis-cli - ...

  5. selectTree & bug

    selectTree & bug 相对路径 & 绝对路径 http://192.168.58.189:8080/hui/#/components/selectTree https:// ...

  6. linux下转换windows文件格式为unix sed -i 's/\r//' <filename> 转化为unix格式

    sed -i 's/\r//' <filename> 转化为unix格式

  7. spring.net框架配置和使用

    spring.net框架学习笔记 spring.net框架是用于解决企业应用开发的复杂性的一种容器框架,它的一大功能IOC(控制反转),通俗解释就是通过spring.net框架的容器创建对象实体,而不 ...

  8. windows2008设置IIS服务器定时自动重启的方法

    我们在使用windows2008下IIS服务器时会经常出现资源耗尽的现象,运行一段时间下来就会出现访问服务器上的网站时提示数据库连接出错,重启IIS后网站又能正常访问了,这个问题可能困扰了很多站长朋友 ...

  9. “Uncaught TypeError: string is not a function”

    http://www.cnblogs.com/haitao-fan/archive/2013/11/08/3414678.html 今天在js中写了一个方法叫做search(),然后点击按钮的时候提示 ...

  10. ssm controller层 junit单元测试

    原文链接:https://www.cnblogs.com/oucbl/p/5943743.html springmvc controller junit 测试 作者:blouc@qq.com本文为作者 ...