NgixNginx

六、动静分离

2020-01-10  本文已影响0人  胖虎喜欢小红

动静不分离

client   ---->   nginx 反向代理服务器  ---->   真实服务器

环境:
nginx 反向代理服务器 ip :10.3.134.2
真实服务器 ip :10.3.134.5
一张图片 : king.jpg
一个静态网页,代码如下

<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <h1>hello</h1>
  </head>
</html>

真实服务器:

    server {
        listen       80;
        server_name  localhost;
       location ~ \.(html)$ {
            root   /opt/webapp;
        }
        location ~ \.(png|css|jpg)$ {
            root /opt/a ;
        }
/opt/webapp 为html文件存放目录
/opt/a   为图片存放的位置

代理服务器:

server {
    server {
    listen       80;
    server_name  localhost;

    location / {
    proxy_pass http://10.3.134.5:80;
    proxy_redirect default;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

访问测试:
浏览器输入:10.3.134.2/info.html
出现hello
浏览器输入:10.3.134.2/king.jpg
出现图片
通过不同的路由找到对应文件

动静分离

架构一:
环境:
nginx 反向代理服务器 ip :10.3.134.2
静态服务器 ip :10.3.134.3
动态服务器 ip :10.3.134.5
一张图片 : king.jpg
假装是一个动态网页,代码同上

静态服务器配置:

将图片放置在/opt
        location ~ \.(png|css|jpg)$ {
            root /opt/ ;
                         }
只要是以png ,css ,jpg 结尾的文件都去访问/opt        
        location / {
            uwsgi_pass http://10.3.134.5;
        }
其余的访问转给10.3.134.5服务器

动态服务器配置:

location  ~ \.(html)$ {
            root   /opt/webapp;
        }

反向代理服务器配置:

    upstream myweb{
        server 10.3.134.3;
        }
        location / {
            proxy_pass http://myweb;
        }

测试访问:
浏览器输入:
10.3.134.2/king.jpg
出现图片
浏览器输入:
10.3.134.2/info.html
出现hello

查看服务器日志

上一篇 下一篇

猜你喜欢

热点阅读