00:00
这节课来学习一下LNMP环境的搭建。LNMMP,那什么是LNMMP呢?LNMP是指一组。通常在一起使用来运行动态网站或者服务器的自由软件名称的一个缩写。L就是啊,Linux。N是指N。M一般指MYSQL。P一般指PP。LNMP代表的就是啊,Linux系统下NGX加MYSQL加PP啊这种网站架构。在国外喜欢称啊,国外喜欢喜欢称为。Lep,所以你要查一些英文资料的话,就可以搜索这个Le啊,那他们之间。
01:03
啊,有什么优点呢?为什么会产生这个组合呢?首先看啊Linux。它是就是说目前最流行的免费的操作系统。嗯。注意啊,免费免费是个重点,NG也是。它是一个高性能的HTTP和反向代理服务器啊,也可以做这个。呃,邮件的代理服务器。也是开源免费的啊。MYSQL是一个小型的关系型数据库啊,在以前开源,现在。嗯,被收购之后就不开源了,但是可以使用他的替代产品Mar DB。PP啊,也是开源的。这四款软件均为免费看软件,组合到一起就成为了一个免费高效、扩展性很强的网站服务系统。这里我们来一次安装一下这些软件。
02:01
首先安装N速度PPT in,此套N加NX。啊,一般来讲。软件的名字,一般来讲,软件的名字和我们的包,就是说包的名字是一样的啊,有一些会有一些嗯,特殊的。不一样,我们碰到的时候再说。好,这个是由于我已经安装过了,它直接就这么显示,我把它卸掉,重新安一下速度APP5。卸载。然后重新安装一下apt install GX。已经安装完成,安装完成之后呢。我们去浏览器访问一下。因为这个NG啊,它这个web服务器,它安装之后会自动启动,并且监听八零端口啊,开启一个web服务。
03:09
这时候我们查看一下这个IP,虚拟机的一个IP。好,打错了ipad。IP是他。在我们的数组机中。输入这个IP。就可以看到,嗯,NG外部服务器已经在给我们提供服务了。接下来安装一下MYSQL。速度PT install my circle my so的名字并不是这个,它要加一个杠,Server。回去了。
04:02
155兆,可以看到换了这个阿里的软件源之后,下载的速度还是比较快的。已经安装完成了。看一下买搜的版本。我们在安装软件的时候没有指定版本,所以它默认会使用啊最新的一个版本。有一点需要。给大家说一下,在买SQ5.7以前。在安装MYSQL的过程中,会要求我们设置MYSQL的用户名和密码,在MYSQL5.7以后就不用在设置用户名和密码了。他给我们生成了一个默认的用户名和密码,记录在MYSQL的一个配置文件中,这个配置文件的位置,嗯,在ETC下。这个配置文件的位置在ETC,下面我们来看一下。
05:01
C ETC my circle。康复好这个文件啊,就给我们保存了一个用户名和密码。接下来安装下PP速度APP install PP。啊,不指定版本就会安装最新版本的一个PP。好,这里有。几个问题啊,这个不用管,它是在呃找这个阿帕奇的一个服务没有找着啊,因为我们这里去搭建的是lanmp服务器,并不是使用lamp。
06:08
安装之后看一看版本。好使用的一个。7.2的一个版本啊。他这个版本是他这个软件也里面最新的一个版本,并不是说是,呃,就是说PP发行的最新的一个版本,这点大家要注意。现在我们。嗯,LNMP基本上都安装安装完成了,这时候我们要做什么呢。如果你使用的是阿帕奇。然后。在安装P2P的时候呢,它会和阿帕奇自动去建立一个一个联系。可以直接使用皮皮。但我们使用的是这个NNG。你们要要想和PP进行通讯的话,还需要安装一个。PP。FPM要安装对应版本的,这里我们是7.2,我们就安装7.2版本的。
07:05
FPM速度。Apt install,你如果安装的是其他版本的PP,你要装对应版本的。这个PM这里是7.2,就用7.2-FPM。之后呢,你去修改一下N的配置。NGX的配置在ETC下面,一般我们修改ETC下面的配置都需要管理员权限。速速度VMGCN减ult好。进行搜索,找到PP的配置这一块。好,首先看到这里啊。这里,他说。啊,如果你使用PP,要加上一个in PP到这里,我们把这里加上一个index.pp。
08:11
把行号显示出来,方便大家去看啊。这大概44行,接着我们继续向下搜索PP。可以看到。56行到63行这里是注释的啊,这是NGX的一个规则,也就是说我们把这些注释打开,它就会去,嗯,匹配PP的文件。把这些都打开。注意这里面啊。这个和这个两个只能开一个,这就涉及到了这个NGX和FPM通讯的一个问题,它有两种方式进行通讯,一种是使用这个unix的这种套接字协议和。呃,LPM进行通讯,一种是使用这种fast cgi进行通讯。
09:05
啊,其实呃,我们来稍微。想一下啊,就比较好理解。我们在浏览器中去请求一个PP的一个文件,对吧,那谁是谁来负责处理这个服务呢?是NXNDX,呃,来处理我们的请求,他发现你请求的是一个点PP结尾的一个文件,接着呢,它就会就是说进行一个转发,转发给啊这个PPFPM去进行处理,那么NJ,哎,转发给FPM的时候,它总要通过一个渠道吧,对吧?它就有这两个连接方式,可以通过这个套接字协议,也可以通过这个呃,TCP协议。啊,这两个只能有一个好。我们把这个给关掉啊,默认的FPM,它使用的是啊,就是套接字协议。
10:01
我们只需要把这个打开就可以了,下面这个我们不用打开,要注释掉。编辑注释掉,只留一个这个就可以了。下面。保存保存退出啊,这里的最后的这个大括号,不要忘了把注释打开啊,这是一对的保存退出。好,接着,嗯,看一下。NX的这个配置是否正确,杠T用来检测是否正确,可以看到啊,没有问题。那我们接着重启一下。N使用service命令吧,Nart。然后重启以后,它的配置就生效了,一般我们在改了一个程序的配置文件之后啊,都需要去重启一下这个相应的一个服务。嗯,下面。
11:00
嗯,我们再来看一下。啊,NGS的这个配置文件啊。ECNGX可以看到,我们看什么呢?找他的这个项目的入口文件在哪啊。来往下找可以看到啊,它项目的这个就是说代码的入口文件,它项目的入口文件是在这里。对吧,是在这里,所以我们去这个目录下面去创建一个PP文件,用来检测我们的PP服务是否正确启动。CD到Y下面3WTP啊,可以看到我们在这里。这里就是这个inja的一个入口文件。V in for,加PP,编辑一下PP文件。PP输出PP的一个配置信息保存退出。他说我没有权限啊,我先强制退出,加个速度。
12:07
点PP。为什么没有权限?等会给大家说。好,我们来LL看一下权限啊,看一下这个。这个文件这个目录的这个所属,它是属于啊root啊,所以我们创建不了。不能在这面上文件,回到上一层看一看这个h timel目录它的权限是吧,它是属于root,所以我们当前登录用户没有权限创建,加上那个主动命令。CD,我们已经啊写了一个PP的文件,并且在里面写了个代码。接下来。去浏览器访问下这个文件,试一下有没有njax和PP,有没有正常的建立通讯。
13:02
这个地址改了。Ino.PP。可以看到并没有能访问成功,说明我们的NGX配置还是有问题的,再去改一下这个配置,ETCNGX对default。啊,有什么问题呢。这里啊。我们装的是7.2的FPM这个NGX,它默认用的是7.0,所以这里之前我们忘了改了,保存退出,修改完配置之后要重启NGX。啊,重启可以使用这个service NG rest也可以使用什么呢?使用NJ自己带的这个重启的命令,NG-s read-S的意思是平滑重启reload。啊,接下来。再刷新一下我们的页面。
14:02
可以看到PP的信息已经打印出来了,这样的话我们的外部服务器就可以。正确的访问到PP文件。接下来说一下关于这个。PP-FPM的一个配置。PP-FPM的配置文件在。啊,ETC下面也是在ETC下面我们来看一下速度,Vim ETC PP,然后7.2。7.2里面FPM。嗯,3W点。啊。Po-D然后3W点这个文件啊,这个文件就是FPM的一个配置文件。进去之后我们来看一下里面都有哪些配置。首先啊,这里是。设置了一个用户,接着往下找。
15:01
这里是设置了这个,呃,用户和组接着往下找看这里啊,这里这个监听的,它这是它默认监听的就是。7.2fpm.so就是监听的一个套接字的一个协议啊,如果我们想使用。就是说TCP协议怎么办呢?我们把这个lesson就给改掉啊,改成什么呢。T等于。127.0.0。点一冒号啊,端口号,指定个端口号。好,这个时候我们就把原来的呃,默认的这种走这个套接字协议改成了啊,监听这个TCP协议。好,接着往下看一看,其他还有相关的一些配置,它还有相关的一些性能的一个优化,比如说可以打开最大的一个,呃,PP的啊,PM的一个线程数,比如说最大的一个子进程数啊,都可以去。
16:03
设置。等一下我们会把这些,呃几个参数。啊,都给说一下啊,这里他们已经再说了。好,我们先把这个监听啊,这个。先把这个。先把这里啊。把他原来监听的这个套接字的协议改成TCP协议,我们先尝试一下。保存退出,修改完配置之后要重启这个服务。Service PP7.2PM restart,接着要去修改一下NG。里面的配置速度VETC啊八。这里的这个。套接字协议。
17:01
注释掉,把我们的这个TCP协议啊,打开保存退出之后,呃,重启一下N啊。在重启之前呢,我们可以使用杠T参数看一下配置正不正确,可以看到正确的,接着杠s reload。好,重启之后我们去浏览器访问。可以看到啊,是正常的。没有问题,说明我们这个修改也是有效的啊。嗯,刚才说到了。啊,这个FPM,它有一些可以优化的性能参数。嗯。那。大概都有什么呢,我们来看一下啊。主要是他这里啊,主要是看就这这块它也有说明,只不过这个是英文版的,我们现在嗯,稍微介绍一下。
18:00
首先看这个啊。这个是静态方式下开启的FPM的进程数量。这个是动态方式下。啊,开始的,起始的这个PPFPM的进程的一个数量。这个是。啊,动态方式下最小的一个。呃,FPM的进程数啊,这是最大的一个进程数啊,刚才我有说到啊,静态方式和动态方式。是通过什么参数来配置的呢?我们来搜一下啊。Toy啊,就通过它来配置的,默认的啊,它这个是动态模式啊,默认的使用动态模式,就动态的去分配这个FPM所占系统的一个进程数,我们可以把它改成静态的。好。再搜一下啊。Dyna。那把它改成静态的呢,只需要把它改成。嗯,那就行了啊,这里我。
19:04
注释一下吧。等于。AC啊,这个是静态啊。静态的。静态的,上面这个就是动态的。在实际的使用过程中,可以根据你计算机的一个硬件配置来设置这些呃参数,如果你的啊内存还有CPU都比较小的话。不要让这个FPM占用太多的一个进程啊,如果你的性能比较好的话,可以稍微多增加一些。LPM的一个进程。我们保存退出。到这里。我们的LNMP环境就搭建完了。
我来说两句