Nginx 反向代理 动静分离

1、实验环境:
机器
10.0.10.8  Nginx proxy
10.0.10.12 Nginx静态
10.0.10.10 Ngins动态,LNMP平台,有个Tomcat服务
系统版本和内核
# cat /etc/redhat-release
CentOS release 6.6 (Final)
# uname -r
2.6.32-504.3.3.el6.x86_64

2、Nginx静态服务器的配置文件
# cat /application/nginx/conf/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    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  logs/access.log  main;

server {
        listen       80;
        server_name  www.cui.com;
        location / {
            root   /data/www;
            index  index.html index.htm;
        }
        }
}
简单的网页内容以及图片
# cat /data/www/index.html
<html>
<head>test</head>
<body>
This is static site!!
</body>
</html>
# ls /data/www/
1.png  images  index.html  tomcat.png

3、Nginx动态服务器配置文件
# cat /application/nginx/conf/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    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  logs/access.log  main;

server {
        listen       80;
        server_name  www.cui.com;
            root   /data/www;
        location / {
            root   /data/www;
            index index.php index.html index.htm;
        }
        location ~ .*\.(php|php5)?$ {      
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
        }  
        }
}

简单的网页内容
# cat /data/www/index.php
<?php
echo "This is php dynamic site !!\n";
?>

4、Nginx proxy服务器配置文件
# cat /application/nginx/conf/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server_tokens off;
    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  logs/access.log  main;
    include proxy.conf; #proxy一些优化

    upstream static_pools {
        server 10.0.10.12:80 weight=1 max_fails=10 fail_timeout=10s;
        }
    upstream nginx_pools {
        server 10.0.10.10:80 weight=1 max_fails=10 fail_timeout=10s;
        }
    upstream tomcat_pools {
        server 10.0.10.10:8080 weight=1 max_fails=10 fail_timeout=10s;
        }

server {
        listen       80;
        server_name  www.cui.com;

#location / {
        #    index index.html index.htm;
        #    proxy_pass http://static_pools; #这里可以设置,也可以不设置,设置成静态默认就找静态,设置成动态默认就找动态
        #}

location   ~* \.(html|js|css|gif|jpg|jpeg|png|bmp|swf)$ {
             proxy_pass http://static_pools;
             }

location ^~ /images/ {
             proxy_pass http://static_pools;
                 }

location ~ .*.(php|cgi|jhtml)$ {
             proxy_pass http://nginx_pools;
              }

location ~ .*.(jsp)$ {
             proxy_pass http://tomcat_pools;
              }
           }
}
proyx优化的配置文件
# cat /application/nginx/conf/proxy.conf
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

5、验证效果

1.以下这个是默认访问到的静态网页

2.以下这个是访问到的以png结尾的静态图片

3.以下这个是访问到的images目录的静态图片

4.以下是访问以php结尾的动态网页

5.以下是访问tomcat服务器jsp网页

时间: 2024-10-24 02:13:51

Nginx 反向代理 动静分离的相关文章

ubuntu 16.04利用docker搭建java+tomcat+nginx反向代理/动静分离

ubuntu 16.04利用docker搭建java+tomcat+nginx反向代理 新建两个docker容器 docker run -it --name Tomcat-mysql -v /mnt:/mnt -p 8866:80 -p 33006:3306 ubuntu /bin/bash docker run -itd --name webserver -p 8888:80 -v /mnt/:/mnt/ ubuntu /bin/bash [email protected]:~# docker

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

在我们开发的过程中,一定会遇到,负载均衡方面的问题.下面我们,做一个小例子:使用nginx+apache实现反向代理,动静分离. 这里apache.php.nginx的安装就不做赘述了,不懂的朋友可以看看我其他的文章,或者去百度搜索了解一下. 现在,我们的电脑上有apache.nginx.php,其中php为apache服务. 我们想要实现的是,当请求发送到nginx的时候,nginx会去判断是不是php请求,如果是,那么将php请求反向分发给apache服务器. 其实,我们利用nginx要实现

Linux中Nginx反向代理和负载均衡和LNMP架构上线网站

Nginx和Apache对比(重点): 1.轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源 2.nginx 处理静态文件好,静态处理性能比 apache 高三倍以上,apache 在处理动态请求有优势 3.nginx 作为负载均衡服务器,支持 7 层负载均衡 4.抗并发,nginx 以 epoll and kqueue 作为开发模型 nginx部署: 第一步:配置yum源(原基础上添加) [[email protected] ~]vim  /etc/yum.repos.

nginx反向代理tomcat集群实现动静分离

我们都知道,nginx作为一个轻量级的web服务器,其在高并发下处理静态页面的优越性能是tomcat这样的web容器所无法媲美的,tomcat更倾向于处理动态文件,所以一个web应用可以通过nginx反向代理来实现动静分离,静态文件由nginx处理,动态文件由tomcat处理. 环境: hadoop0.updb.com    192.168.0.100    nginx server hadoop2.updb.com    192.168.0.102    tomcat server hadoo

Nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第三部分

Nginx反向代理.动静分离.负载均衡及rewrite隐藏路径详解 (Nginx Apache MySQL Redis) 楓城浪子原创,转载请标明出处! 更多技术博文请见个人博客:https://fengchenglangzi.000webhostapp.com 微信bh19890922 QQ445718526.490425557 三.Nginx动静分离及负载均衡 3.1 Nginx安装 请参考:https://fengchenglangzi.000webhostapp.com/?p=511 亦

Nginx反向代理(基于目录动静分离、不同浏览器类型不同代理、基于扩展名的不同代理)

proxy_pass http_proxy_module proxy_pass指令输入ngx_http_proxy_module模块,此模块可以将请求转发到另外一台服务器 官网:http://nginx.org/en/docs/http/ngx_http_proxy_module.html =============================================== location /some/path/ { proxy_pass http://127.0.0.1; } ==

centos6.5搭建nginx反向代理Apache服务并实现动静分离

Nginx反向代理配置步骤: 一.规划网络拓扑 二.配置Apache服务器 三.配置nginx服务器 四.进行测试   一.规划网络拓扑 二.配置Apache服务器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 安装Apache服务 [[email protected] ~]# yum -y install httpd php 注:由于我们的Apache服务器要负责动态页面的处理,所以要安装PHP.   编辑A

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

nginx反向代理,实现动静分离 nginx反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器:并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器. 当客户机向站点提出请求时,请求将转到代理服务器.然后,代理服务器通过防火墙中的特定通路,将客户机的请求发送到内容服务器.内容服务器再通过该通道将结果回传给代理服务器.代理服务器将检索到的信息发送给客户机. 实验

nginx反向代理tomacat+keepalived实现动静分离、负载均衡、高可用

本文的动静分离主要是通过nginx+tomcat来实现,其中nginx处理图片.html.JS.CSS等静态文件,tomcat处理jsp.servlet等动态请求 服务器名称                                 系统版本                           预装软件                     IP地址 Nginx服务器                             CentOS 7 最小安装              Nginx