nginx

nginx

  • 版本介绍
    • 开源
      • nginx
        • 最纯粹
        • nginx.org
        • github能下载,start15k+
      • openresty
        • openresty.org
        • 与Lua脚本整合了
        • 中文网站
      • engine
        • tngine.taobao.org
        • 淘宝网就用的这个
        • 最稳定
        • C语言
    • 商业
      • nginx plus
        • nginx.com
        • F5开发
  • 目录文件介绍
    • conf
      • nginx.conf
        • 主要配置文件
      • nginx.conf.default
        • default中文翻译:预设
      • 其他文件
        • 配合nginx.conf文件引用用的
    • html
      • index.html
        • 默认主页
      • 50x.html
        • 默认错误页
    • logs
      • access.log
        • 每个人的成功访问记录
      • error.log
        • 每个人的错误访问记录
      • nginx.pid
        • nginx.master当前进程号
    • sbin
      • nginx
        • 就是启动程序,相当于window的exe
    • 所有带_的文件
      • nginx启动后产生的文件
  • 程序进程介绍
    • master
      • 主要进程(检查配置文件,协调worker进程)
      • reload命令是不中止nginx,但又可以加载配置新的文件,方法就是master会再生成一个配置了新配置文件的worker,在接下来时间替换旧worker,从而不影响nginx服务。
    • worker
      • 次要进程(配合用户访问用)
  • 功能介绍
    • server-name匹配(通过不同域名匹配文件)
      • 可以用*匹配和正则匹配
      • nginx可以识别访问这台主机ip是由哪个域名来的。虽然不同的域名都访问到这同一个ip地址了,但由于nginx可以根据域名的不同来分流不同的html文件
    • 反向代理
      • 负载均衡
        • weigth(调整轮训权重)
        • ip-hash
        • least-conn
        • url-hash
        • fair(根据响应时间、要插件)
        • 设置后备机器(backup)
        • 设置关闭机器(down)
    • 动静分离(通过不同文件名匹配文件)
      • 直接匹配location/➕文件名称
      • 正则匹配:location/ ~*(js|css|html)
    • URLrewrite
      • flag标签
        • last(继续往下匹配)
        • break(退出)
        • redirect(301重定向,显示真实地址)
        • permanent(302重定向,显示真实地址)
    • 防盗链
      • 待作者完善……
    • 附加:nginx高可用性
      • keepalived
        • 虚拟ip可在几台装有keepalived的机器上来回切换,并附有竞选机制
        • 只是互相检测keepalived进程是否存活,没有存活的话vip就飘走了
      • LVS

nginx.conf文件之server模块介绍

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
 server {
 listen 80;
 server_name  www.zzyann.cc;
         location / {
             root   html;
             index1  index.html index.htm;
         }
 server_name  *.zzyann.cc;
         location / {
             root   html;
             index2  index.html index.htm;
         }
 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
 反向代理&URLrewrite
 server {
 listen 80;
 upstream httpds{
     server 192.168.1.1:80 weight=1 backup;
     server 192.168.1.2:80 weight=3 down;
     server 192.168.1.3:80 weight=6;
 }
 server_name  localhost;
         location / {
             rewrite ^/([0-9]+).html$    /index.jsp?pageNum=$1 break;
 //$1表示匹配第一个正则
             proxy_pass http://httpds;
         }
 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
 动静分离
 server {
 listen 80;
 server_name  localhost;
         location / {
             root   html;
             index  index.html index.htm;
         }
         location /~*(js|css|html) {
             root   html;
             index  index.html index.htm;
         }
 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 keepalived.conf配置文件
 ! Configuration File for keepalived

 global_defs {					#全局配置
 	router_id LVS_DEVEL
 #此处注意router_id为负载均衡标识,在局域网内应该是唯一的。
 }

 vrrp_instance VI_1 {		#虚拟路由的标识符 一组的名字是一样的都是VI_1
 	state MASTER
 #状态只有MASTER和BACKUP两种,并且要大写,MASTER为工作状态,BACKUP是备用状态
 	interface ens33			#通信所使用的网络接口
     virtual_router_id 51	#虚拟路由的ID号,是虚拟路由MAC的最后一位地址
     priority 100			#竞选的优先级,主节点的优先级需要比其他节点高
     advert_int 1			#通告的间隔时间
     authentication {		#认证配置
 		   auth_type PASS		#认证方式
         auth_pass 1111		#认证密码
     }
     virtual_ipaddress {
         192.168.200.16    #虚拟ip
     }
 }
Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计