CoreDNS 手册(四)__配置

CoreDNS 手册(四)__配置,第1张

在CoreDNS有及部分可以配置。

首先,确定哪些插件被编译进CoreDNS。我们提供的编译后的二进制可执行包 (binaries)已经包含了所有的插件,列在 plugincfg 。增加和删除都很 easy ,但是需要对CoreDNS重新编译。

大多数用户使用文件 Corefile 来配置 CoreDNS。当 CoreDNS 启动的时候,如果 -conf flag 没有被配置,就会在当前目录查找 Corefile 文件。
文件包含了一个或者多个服务器块 (Server Blocks)。每个服务器块列出了一个或多个插件。那些插件也可以在后面使用指令配置。

在Corefile 文件中,插件的顺序不决定插件链的顺序。 插件执行的顺序,配置在文件 plugincfg 中。

Corefile 文件的备注以 # 开头。行的其他部分会被识别为备注。

CoreDNS 在配置中支持环境变量
环境变量可以被使用在任何地方。语法是 {$ENV_VAR} ( Windows-类型的语法 {%ENV_VAR%} 也是支持的)。CoreDNS 会在解析Corefile的时候替换这些变量内容。

参考 import plugin。
这个插件有些特殊,可以被用在Corefile的任何地方。

一个很特殊的可导入文件是 snippet 。一个 snippet 通过命名一个块(block)的特殊语法来定义。名字需要被放到圆括号内: (name) 。然后,它就可以随着导入插件放置到配置文件的任何地方了。

每个服务器块(Server Block)以server应该伺候的zones开头。在zone名字或者zone列表名(以空格分隔)之后,一个服务器块以大括号作为开头和结束。
如下的服务器块定义了一个 server,负责root zone: 下所有的zones; 基本上,这个 server 应该处理所有的查询:

服务器块(Server blocks)还可以指定监听端口。默认端口是 53 (DNS 服务标准端口)。指定端口,以冒号作为分隔符在zone后列出端口号。
如下的 Corefile 指示 CoreDNS 创建一个 Server , 监控端口 1053:

给服务器块定义一个zone,但是这个zone已经被配置到一台服务器上,并且已经运行了,运行在同一个端口。Corefile 会在启动的时候报错:

变更第二个端口为 1055 可以让这两个服务器块变成两个不同的服务器。

当前 CoreDNS 接受4种协议: DNS, DNS over TLS (DoT), DNS over >1 安装YUM环境
2 yum search java | grep -i –color JDK
按照查询到的JDK文件名执行
yum install -y XXXXXX
也可以直接下载RPM进行安装,不过,没有这种安装方便

1 startphp文件 1 导入basephp文件 2 执行App:run()->send();函数运行框架; 2 basephp文件 1 定义全局变量,主要是各文件夹路径的定义,以及环境变量的检查(比如服务器是否是windows) 2 加载libary\think\loaderphp文件,注册自动加载机制,注册异常处理机制。 3 加载根目录下的环境变量文件(env),如果存在则配置环境变量(使用putenv()函数)。 4 加载默认配置文件。 3 执行App::run()->send()函数 1 调用Request::instance(),初始化Request,该函数是一个单例模式的函数。 2 调用self::instance(),初始化应用。 21 判断是否为调试模式,是否输出错误信息 22 注册应用命名空间 23 加载configphp中配置的extra_file_list扩展函数文件。 24 设置configphp中配置的default_timezone默认时区 25 执行Hook::listen('app_init'); 3 绑定路由模块,如果在配置文件中定义了auto_bind_module则自动绑定入口文件。 4 根据配置文件中配置的default_fileter,设置默认过滤函数,过滤请求内容 5 判断是否开启多语言机制,并加载相应的语言包文件。 6 根据请求路由,获得调度信息,并保存调度信息。 7 判断请求类型,以及是否设置了请求缓存,如果存在并没有过期则执行重定向。 该 *** 作会极大的节省服务器的性能,但也会让数据延迟,适合数据不经常更新的页面使用。 71 redirect类型,在配置文件里开启了request_cache后,再次请求同一个页面,会直接重定向到原来的缓存页面,不会再重新加载页面。 72 module类型,普通的页面请求,会调用self::module()函数,获得请求的模块,控制器和 *** 作,并通过反射函数self::invokeMethod()执行action。 73 controller类型:暂时还不知道什么时候回执行。 74 method类型:执行回调函数,也是通过self::invokeMethod()反射函数来执行的。

右键我的电脑->属性->高级->环境变量
新建系统变量: (如果你的系统中已经存在了下面两个环境变量,就按(1)中的友情提示3添加变量值(编辑)就行)
(1)变量名:classpath
变量值:;C:\ProgramFiles\Java\jdk160_03\lib;
(那个路径以你自己的为准,我装的是16的JDK)
友情提示1:在编译和运行java程序时,需要用到的JDK系统类,java程序会根据classpath去搜索这些类;像一楼变量值中的toolsjar,dtjar,此外还有一个j2eejar包,都是编译和运行J2EE应用主要需要用到的三个jar文件,你需要的时候也可以把变量值添加进去;
友情提示2:“”号是表示当前路径;
友情提示3:“;”号是用来隔开多个变量值,如果你的系统里面已经有classpath环 境变量,就不用新建了,直接加“;”号,在后面加新值;
(2)变量名:path
变量值:C:\Program Files\Java\jdk160_03\bin;
友情提示1:通常系统已经有了PATH环境变量,因此只需将该路径添加到PATH 变量中即可;
友情提示2:由于Windows 对于外部命令,都按PATH 环境变量指定的路径搜索可执行性程序,因此为了可以执行java 和javac 等命令,应将java 和javac 所在的路径添加到PATH中。
另外,如果你只是写Java程序,可以不需要用到java_home环境变量,这个环境变量是你以后用到解压版的Tomcat等服务器时,需要配置的环境变量。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13245458.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-25
下一篇 2023-06-25

发表评论

登录后才能评论

评论列表(0条)

保存