您的位置:首页 > 运维架构 > Nginx

Nginx 主要应用 教程

2020-02-17 09:22 405 查看

文章目录

  • 2.4 负载均衡其他几个配置
  • 3、静态代理
  • 4、动静分离
  • 1、静态网站

    Nginx是一个Http的Web服务器,可以将服务器上的静态文件(如Html、图片等)通过Http协议返回给浏览器客户端;

    server{
    listen:80;							#监听端口号
    location / {						#监听路径
    root 	/option/static/TestWeb	#静态文件路径
    index 	index.html index.htm	#欢迎页html文件名
    }
    }
    规则:请求地址中 ip + 端口 = root

    举例说明:
    静态页面存放地址 = /opt/static/TestWeb/index.html
    期待nginx访问路径 = http://192.168.105.130 (请求格式1)
    或者
    http://192.168.105.130/TestWeb (请求格式2)
    请求格式1 http://192.168.105.130 Nginx配置文件配置方式:

    server{
    listen:80;							#监听端口号
    location / {						#监听路径
    root 	/option/static/TestWeb	#静态文件路径
    index 	index.html index.htm	#欢迎页html文件名
    }
    }

    请求格式2 http://192.168.105.130/TestWeb Nginx配置文件配置方式:

    server{
    listen:80;							#监听端口号
    location /TestWeb {				    #监听路径
    root 	/option/static/         #静态文件路径
    index 	index.html index.htm	#欢迎页html文件名
    }
    }

    注意:请求路径与静态页面实际路径匹配规则:ip + 端口 = root
    用请求格式2 http://192.168.105.130/TestWeb 进行说明:
    http://192.168.105.130 = root = /option/static/ (location = /TestWeb)
    http://192.168.105.130/TestWeb = root = /option/static/TestWeb (匹配成功)

    2、负载均衡

    概述:将请求均匀分摊到多个服务器节点上执行。

    2.1 负载均衡实现方式

    1、硬件实现 : F5、深信服、Array等。
    2、软件实现 : Nginx、LVS、HAPProxy等。
    1、第一步http模块上:(例子)

    upstream www.myweb.com{
    server 127.0.0.1 weight = 3;
    server 127.0.0.1 weight = 1;
    }

    其中weigh=1表示权重,用于后端服务器性能不均的情况,访问比率等于权重之 4000 比,权重越大访问机会越高。

    2、第二步在server模块里添加:(例子)

    location /myweb{
    proxy_pass http://www.myweb.com;
    }
    1. 其中www.myweb.com字符串要和upstream后面的字符串相等。
    2. upstream中所配置的服务端,nginx会进行健康检查,如果客户端不能正常访问则nginx会跳过该服务端的转发。

    2.2 负载均衡

    Nginx如何实现负载均衡:(通过在Nginx的nginx.conf文件进行配置即可实现)

    2.3 常用负载均衡策略

    2.3.1 轮询策略 :

    如不配置默认的是轮询策略

    2.3.2 ip_hash策略:

    ip_hash也叫IP绑定,每个请求按访问ip的hash值分配,
    这样每个访问客户端会固定访问一个后端服务器,
    可以解决Session丢失的问题。
    upstream www.myweb.com{
    ip_hash;
    server 127.0.0.1:8080 ;
    server 127.0.0.1:8090 ;
    }

    2.3.3 权重策略:

    upstream www.myweb.com{
    server 127.0.0.1 weight = 3;		weight 比例越大,访问几率越大
    server 127.0.0.1 weight = 1;		weight 比例越大,访问几率越大
    }

    2.3.4 最少连接策略:

    web请求会被转发到连接数最少的服务器上
    upstream www.myweb.com{
    least_conn;
    server 127.0.0.1 ;
    server 127.0.0.1 ;
    }

    2.4 负载均衡其他几个配置

    backup状态:
    upstream  www.myweb.com{
    server 127.0.0.1:8090 ;
    server 127.0.0.1:8080 backup; (其他所有非backup的机器都挂机的时候,才请求backup机器)
    }

    down状态:

    upstream  www.myweb.com{
    server 127.0.0.1:8090 ;
    server 127.0.0.1:8080 down; (down表示当前是down状态,不参与负载均衡)
    }

    3、静态代理

    针对文件类型进行匹配:
    1、把所有静态资源的访问改为访问nginx,而不是访问tomcat,因为nginx更擅长于静态资源的处理,性能更好、效率更高。
    2、在实际应用中,静态资源比如图片、css、html、js交给nginx,而不是交给tomcat。
    location ~ .*\.(js|css|htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ {
    root /opt/static;
    }

    3、配置符号讲解:

    (
    ~ 表示正则匹配
    第一个点,表示任意字符;
    * 表示一个或多个字符;
    \. 是转移字符,是后面这个点的转义字符;
    | 表示或者;
    $ 表示结尾;
    )

    4、动静分离

    针对文件路径进行匹配
    location ~ .*/(css|js|img|images) {
    root /opt/static;
    }
    xxx/css
    xxx/js
    xxx/img
    xxx/images
    以上例子均可以匹配上
    • 点赞
    • 收藏
    • 分享
    • 文章举报
    福尔摩千 发布了12 篇原创文章 · 获赞 5 · 访问量 1万+ 私信 关注
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: