nginx的反向代理、负载均衡、动静分离配置实例

nginx

    • 关于nginx
    • nginx与tomcat安装
    • 反向代理
    • 负载均衡
    • 动静分离
    • 参考

关于nginx

nginx是一个高性能的HTTP和反向代理web服务器,特点是占有内存少,并发能力强,能够经受高负载的考验。

nginx与tomcat安装

nginx下载.

tomcat在linux的安装就不再赘述了,如果linux中配置了静态ip,一定要把locahost与你的静态ip在**/etc/hosts/**中绑定。若出现相关异常可参考 Linux中tomcat启动后无进程、无法访问.

反向代理

实现效果
使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中
nginx 监听端口为 9001,
访问 www.test.com:9001/a/a.html 跳转到 127.0.0.1:8080/a/a.html
访问 www.test.com:9001/b/a.html 直接跳转到 127.0.0.1:9080/b/a.html

准备工作
(1)在本地hosts文件中添加自定义域名与linux的静态ip的映射
nginx的反向代理、负载均衡、动静分离配置实例_第1张图片
在这里插入图片描述
在用记事本打开hosts文件时可能会出现修改无法保存的情况,是权限造成的,可到hosts的属性中进行修改,可参考: Win10修改编辑hosts文件无法保存怎么办.

(2)准备两个 tomcat 服务器,一个 8080 端口,一个 9080 端口。在配置第二个端口时,server.xml文件中的8080、8005、8009端口都应该修改,避免造成冲突。

(3)在tomcat的webapps目录下创建文件夹和测试页面。
nginx的反向代理、负载均衡、动静分离配置实例_第2张图片
nginx的反向代理、负载均衡、动静分离配置实例_第3张图片
配置
修改ngnix安装目录下的conf/nginx.conf

 server {
        listen       9001;
        server_name  192.168.150.10;

        location ~ /a/ {
            proxy_pass  http://127.0.0.1:8080;
        }

        location ~ /b/ {
            proxy_pass  http://127.0.0.1:9080;
        }
    }

结果
nginx的反向代理、负载均衡、动静分离配置实例_第4张图片
nginx的反向代理、负载均衡、动静分离配置实例_第5张图片

负载均衡

实现效果
浏览器地址栏输入地址 www.test.com/a/a.html,负载均衡效果,平均加载8080和 9080相应的页面

准备工作
和上面方向代理类似

配置
修改ngnix安装目录下的conf/nginx.conf

    #配置服务器
    upstream myserver{
       server 192.168.150.10:8080 weight=4;
       server 192.168.150.10:9080 weight=2;
    }  

    server {
        listen       80;
        server_name  192.168.150.10;
        
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            proxy_pass http://myserver;  #反向代理
            index  index.html index.htm;
        }
     }

效果
nginx的反向代理、负载均衡、动静分离配置实例_第6张图片
nginx的反向代理、负载均衡、动静分离配置实例_第7张图片
nginx 分配服务器策略
主要由四种
(1)轮训。每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
(2)weight 权重。weight 代表权重默认为 1,权重越高被分配的客户端越多
(3)ip_hash。每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器
(4)fair。按后端服务器的响应时间来分配请求,响应时间短的优先分配

动静分离

什么是动静分离
nginx的反向代理、负载均衡、动静分离配置实例_第8张图片
Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx处理静态页面,Tomcat 处理动态页面。

准备工作
在 liunx 系统中准备静态资源,用于进行访问
nginx的反向代理、负载均衡、动静分离配置实例_第9张图片
配置

 server {
        listen       80;
        server_name  192.168.150.10;
        
        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        location /html/ {
            root   /usr/src/data/;
            index  index.html index.htm;
        }
        
        location /image/ {
            root   /usr/src/data/;
            autoindex     on;   
        }
     }

效果
nginx的反向代理、负载均衡、动静分离配置实例_第10张图片
nginx的反向代理、负载均衡、动静分离配置实例_第11张图片

参考

参考博文:https://www.cnblogs.com/LiuQizhong/p/11757420.html
尚硅谷视频:https://www.bilibili.com/video/BV1zJ411w7SV?p=17

你可能感兴趣的:(linux)