• nginx基础篇


    nginx

    最小配置解析

    # worker 进程数,ngin 有主从之分,worker主要负责工作,使用ps -ef|grep woker 可以看到
    worker_processes  1;
    
    # 每个worker的连接数
    events {
        worker_connections  1024;
    }
    
    
    http {
    # 包含的子配置
        include       mime.types;
    # mime.type 配置了各种请求类型,如果无法匹配使用 default_type
        default_type  application/octet-stream;
    
     
    # 数据零拷贝,nginx 把 文件 直接通过linux 返回给客户端
        sendfile        on;
    # 连接超时时间
        keepalive_timeout  65;
    
    
    # vhost
        server {
            listen       80;
            server_name  localhost;
    
    
            location / {
                root   html;
                index  index.html index.htm;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
        }   
    
    }
    
    • 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
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41

    域名解析

    常用解析

    请添加图片描述

    多租户解析

    请添加图片描述

    Nginx虚拟主机域名配置

    请添加图片描述

    
    worker_processes  1;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
    
        sendfile        on;
        keepalive_timeout  65;
    
        server {
            listen       80;
            server_name  www.lindou.top;
    
    
            location / {
                root   /www/www;
                index  index.html index.htm;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
        }
        server {
            listen       80;
            server_name  vod.lindou.top;
    
    
            location / {
                root   /www/vod;
                index  index.html index.htm;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
        }
    
    
    }
    
    
    • 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
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53

    ServerName匹配规则

    配合二级域名

    完整匹配

    server_name vod1.lindou.top vod1.lindou.top;

    通配符匹配

    server_name *.lindou.top;

    通配符结束匹配

    server_name vod.lindou.*;

    正则匹配

    server_name ~^[0-9]+.lindou.com$;

    隧道式模型、网关、代理

    正向代理&反向代理

    请添加图片描述

    网关

    中转作用
    请添加图片描述

    隧道式模式

    隧道式模式:就是nginx反向代理模式,入口走nginx,出口也走nginx
    lvs,DR模式:入口走nginx,出口直接返回到内网网关上
    请添加图片描述

    反向代理

    反向代理一台服务器

    使用 proxy_pass ,下面两行就无用了

    	server {
    	        listen       80;
    	        server_name  vod.lindou.top;
    	
    	
    	        location / {
    	        	proxy_pass http://www.atguigu.com;
    	          #  root   /www/vod;
    	          #   index  index.html index.htm;
    	        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    反向代理多台服务器

    使用 upstream httpds

    1. 配置upstream
      与server块同一级别

      upstream httpds{
      server 192.168.102.80;
      server 192.168.103.80;
      }

    2. 配置server块
      注意名称
    	server {
    	        listen       80;
    	        server_name  vod.lindou.top;
    	
    	
    	        location / {
    	        	proxy_pass http://httpds;
    	          #  root   /www/vod;
    	          #   index  index.html index.htm;
    	        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    请添加图片描述

    负载均衡策略

    默认轮询

    以下了解,生产存在问题
    weight权重

    请添加图片描述
    down不参与负载均衡
    请添加图片描述
    backup备用机(正常不参与负载均衡)
    请添加图片描述

    动静分离

    将静态文件放在nginx上

    请添加图片描述

    两者等价

    请添加图片描述

    URLRewrite伪静态配置

    请添加图片描述
    请添加图片描述

    访问:http://localhost/test/2.html 会转到 http://localhost/test/index.jsp?pageNum=2

    通用配置
    请添加图片描述

    网关服务器

    请添加图片描述

    Nginx高可用

    使用keepalived配置nginx高可用

    请添加图片描述
    主:192.168.10.190
    备:192.168.10.191
    v:192.168.10.200

    1. 主、备安装依赖

    yum install openssl-devel
    yum install keepalived

    配置在: /etc/keepalived/keepalived.conf
    2. 主配置
    主要修改上边这部分

    ! Configuration File for keepalived
    
    global_defs {
        router_id lb191
    }
    
    
    vrrp_instance VI_1 {
        state MASTER
        interface ens33
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.10.200
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    1. 备配置
      主要修改上边这部分
    ! Configuration File for keepalived
    
    global_defs {
        router_id lb190
    }
    
    
    vrrp_instance VI_1 {
        state BACKUP
        interface ens33
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.10.200
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    1. 启动
      保证nginx都启动了
      启动keepalived: systemctl start keepalived
      然后再windows测试使用:ping 主机 -t
      尝试挂掉主nginx

    加密

    请添加图片描述
    请添加图片描述

  • 相关阅读:
    智能遥测终端机RTU的好处介绍
    有哪些常见的网络安全威胁?
    查看Oracle_表名、字段名、注释、进程及杀进程等常用语句
    大厂面试-好未来一面算法之求最长无重复子串长度
    Qt正则表达式
    Flutter实战-自定义键盘(二)
    用Unity发布APP到Hololens2无坑教程
    nrf523832 串口点LED
    从零开始封装 vue 组件
    Java泛型:类型擦除
  • 原文地址:https://blog.csdn.net/zhouhe_/article/details/128043306