00:00
大家好,欢迎大家继续收看上硅谷的云算课程,我是沈超老师。这节课呢,我们继续来讲服务管理,这课我们来看看阿帕启启动脚本,我们打算分析一下这个脚本,呃,这个呢,其实主要的目的是还是要理解一下,为什么我们说它最终调用的其实还是ETC下的ic.d当中的i.D里面的这个阿帕西胶本最终调用的还是它,这个事儿可能要知道一下。再一个呢,我们可能也学过12编程,我们看看系统下写的这个差程序是什么样子,对于我们可能有一定的帮助,那我们这个快速的看一下这个脚本里写的是什么,好,这个脚本其实我说啊,它是软链接,既可以在这里也可以是。其实我一般习惯的还是这,我习惯的是这个啊好了打开,那我们。那我们看看这是开头,从头开始,小心前面都是注释探视,唯独这两句话可不是注释,这两句话是有一定作用的。
01:04
这两句话的作用是可以被柴克坎菲格这个命令识别。换句话说,柴菲格其实最终也是找到了这个。柴康菲格最终也是找到了这个脚本,然后靠这两句话记忆的内容来自动运行阿帕奇了。那这个。我们后边还会手工来这个来加,我们先知道一下,那么前面这个呢,是代表它的启动顺序,第85个运行,在开机的时候,这个代表是它的关机顺序,关机的时候第15个把它关闭,这个就是这个就是只要别跟别的服务重叠就行,随便编啊,随便写这个顺序倒无所谓,这两个是用于阿帕西自启动了,小心别把这两句话给删掉了,也不要出现这个误操作啊,剩下的就真的就是注释了,然后呢,后面这个就简单了,干嘛调用了一下这个配置文件,点吧SS单独命令对吧,调用这个配置文件,判断这个文件在不在,如果在也调用它一下,这两个是进行阿帕奇的函数调用和阿帕奇的这个配置文件下载的,然后后续。
02:09
开始定义变量。定义了一堆变量,各位。这个你们见过吗?近距离伽帕起变量后面倒了大括号,然后这样一个格式见过吗?各位,到了大括号。Dollar大括号是咱们前面再讲变量叠加的时候用到的,如果给一个变量的值,想要给里面再加值,变量A等于,比如说原先是123,那么就应该是高了A,然后这里后面再加456。这是是给它叠加值用,那这个格式还真不是变量叠加是干嘛的?还记得这个吗?我把它为了怕你忘了专门把它拿出来了,看变量测试,看见到X等于Dollar单大括号Y减号新值,然后呢,如果Y没有值,X的值是新值,就是这个值。
03:01
如果Y值为空,则X值也为空,如果Y有值,则X的值是Y,所以这是是不是用来做变量测试的?还记得吗?啥意思?看这写的是啥。给H小写HTP赋值,赋什么值?如果大写HTTP这个变量不存在,各位你往上翻啊,它有这个变量,有这个有前面有。有有这个什么HTP烂值啊什么的这个,但是绝没有一个大写的HTP变量,所以这个值是不存在的。那那我们按照我们这个公式看,如果这个Y值是不存在的,这个值没有,那么X的值就等于减号后面的新值,换句话说,这个小写HT的值就是这个脚本。就是这个加载实际加载的启动胶片,它我们说ETCIc.D我们现在访问的是不是就是这个脚本i.D。对吧,这只是一个加载脚本,就这个HTPG,这只是一个shall启动脚本,真正启动shall的时候还是UB下的这个U4SB下的这个命令,哎,我们说过系统命令是不是还是放在U4SB下,对吧?这个只是加载脚本,这个才是真正的二进制命令,哎,换句话说,这个变量里的值就是这个命令,对吧?这个变量里的值就是这个配置文件,PID文件,它的PID文件,这个变量里的值就是它的这个时间的这个文件啊,剩下的就是正常的。
04:33
好看懂了啊,行了,然后呢,开始定义函数。当我碰到star这个函数的时候,哎,系统写的时候,系统它还是永愿意写函数,它不愿意直接写在脚本里写函数还是好理解,但是这些函数都是他自己写的,我们说事是没有内置函数,所以咱们讲的时候,可能我们讲事编程的时候,我没有给你们讲这些函数怎么用,看一下就知道了。
05:01
定义一个叫star的函数。然后呢,定义这个函数干嘛?我们说什么是函数,事先写好了程序集对吧,这个里面干嘛?先定义一句话,看large值等于什么,然后运行,运行什么PID文件,加载这个PID,把它写入,执行之后写入PID,然后调用这行命令。TPTP是啥?里边的值是不是就是这个命令行直接运行,然后通过这些选项,也就是说它给这个命令运行的时候进去这些选项,其实说白了核心内容就还是执行这条命令,这条命令的作用其实就是启动阿帕奇。啊,然后这就是大函数的作用,看懂就行啊,然后呢,看懂知道就行,然后呢,判断一下这个返回值,如果返回值是零,证明什么它的这个命令,这条命令是正确运行了,则这个新建这个日志文件,这个时间文件。通过检测这个时间文件,我可以知道我阿帕奇是什么时候运行的,对吧?哎,就是这个Linux都是这么处理的,包括启动时间也都是在那个启动脚本里启动的ic.logo里时候加了这样一行,对吧。
06:09
好,这就是大函数,如果碰到这个调用大函数,则执行这条命令,然后呢?碰到stop命令函数了,则怎么办?就执行这个Q。这个是杀死命令,杀死的就是我当前的阿帕奇,也杀死他就是他,然后碰到如果碰到reload呢,就这个稍微复杂点,大概知道就行,就是什么我们把配置文件干嘛,然后把这整个配置文件重新加载一遍,如果这个发现没有问题,那么发现有问题就这么就报你这里面什么有。语法错误,看到我们有时候启动的时候会报语法错误,如果没有问题就直接运行就行了啊,就启动就把它重新加载配置文件,好看到这儿开始了。这个才是真正的程序。K4讲过了,单命的选项是吧,啊不是不是多分制选项当中,然后呢。
07:04
判断里边的值。Case里边的值还记得吗?我们咋起来,哎,我开一下,我再开个条开service httpt对吧?不,不要service通过ETC,这是标准命令对吧?阿帕奇后面是不是加参数。对吧,那我们讲过了,我们讲过这个12脚本了,第一个参数是不是就是位置保存在位置变量参数高了一当中。对不对啊,第二个参数,如果后面还有参数是放在DO2当中位置参数变量对吧?好开始判断你传到这个参数里的了,传到这个脚本里的参数,也就是说传到这个脚本里的参数,这个参数是什么?判断这个了,对吧,如果参数是大调用大函数,哎,前面是不是事先写好了,大函数就是往前翻。就是。这组调用它,那是不是就是启动对吧,如果你这里写的是stop。
08:05
你这个DOLLAR1后面就是这个参数后面这个命令,后面跟着这个值写的是stop,就调用stop函数,如果是调用了这个写的是sta查状态,那么我就执行studio命令看看这个状态,如果是写的rest star,那么就先执行stop,再执行star,看到了如果是文本测试,则调用status这个函数来回来运行就行,就是这样一个这样一个内容。当然啊,说函数这个程序本身难度不高,但是它里面写的这个东西就这个东西他是通过极其简化的这种方式写的,其实真要把它看明白,其实还是挺麻烦,大概知道是怎么回事就行,其实也就是说想告诉你的事情是。这个家伙实际上只是一个启动脚本,12脚本,真正调用的启动命令还是U下下的HTTPG,这个这是二进制程序啊,这个是。
09:01
再有一个,我们要理解为什么后面加star stop会运行,它是通过这样的方式来运行好。这个脚本呢,只是这是系统写的脚本,相对来说对事初学者来讲还是很复杂的,我们大概看看知道是怎么回事儿就OK了。好了,这就是我们整讲解一下12脚本,它的这个方法我们知道一下,我的文档上也加了详细的注释啊啊,然后呢,我们能看懂多少是多少,我们主要还是学习一下它的写法。行,那这节课的内容就是这样。我们学习一下这个阿帕奇的自启脚本,阿帕奇系统脚本的这种学法,好,这节课内容就这样,我们下节课再见。
我来说两句