00:00
学了这么久的。Linuxx大家一定好奇啊,有什么用?一个是啊,可以帮助我们去。就说在服务器运用这一块啊,可以很好的。去管理这个服务器。但其实对于我们而言啊,尤其是我们初学者而言,我们最大的这个用处可能就是说。啊,我就是说关于我们的开发环境的一个问题啊,为什么呢?因为现在我们的项目大部分都是运行在Linux系统下。对吧,Linux系统它对这个文件的这个权限呀,还有这个呃,组啊,用户啊,细分的都是比较严格的啊,甚至是包括这个大小写字母都是比较严格的,而我们如果是在Windows下开发的这个项目的话,你在部署到Linux上的时候很可能会啊,因为这个一些啊。比如说大小写的问题,或者这个啊,文件权限的问题,导致你的项目不能正常的一个运行。啊,所以啊,一般。我们在项目中呢,就是说开发一个项目而言的话,首先是要求我们的这个开发环境的一个统一,现在大多是呃,以这个。
01:09
这个这个Linux开发环境啊为主。这个其实是分,也不是说绝对啊,是分这个语言啊,尤其是你做一些啊后端相关的语言多一些的话,其实在年龄上开发的是。嗯,比较多的啊。好。那么如果我们在Linux上去呃开发项目的话,就不可避免的会面临一个问题,也就是说我们在Windows下的这个,呃,这么说吧,也就是说我们总不可能在Linux下去写代码吧,用那个vim,那写的多慢呀,对不对?那也不能说是,哎,我们在Windows下用一些IDE去写代码,然后把代码上传到我们的虚拟机里面,服务器里面再运行。啊,有时候我们写一些东西是要要求这个实质性比较高的,我们这边写完要立刻能预览,那我们在进行这一个文件传输的一个时候。
02:01
是不是比较麻烦。是不是要耗费时间,所以有没有一种办法能让,就是说啊,我们写的写过的代码啊,我们的这个文件在Windows上开发的这个项目,能自动帮我们同步到虚拟机中。啊,有啊,这个工具就是。啊,We re这个工具啊,它可以帮我们去很好的去管理我们的虚拟机啊,包括我们配置这个虚拟站点,包括我们的文件的一个自动的一个同步啊都可以啊。好,首先你要下载对应系统的。啊,这个。安装软件啊,如果是Mac,你下载这个Windows下载这个安装好之后呢。它呀,它需要你去安装这个对应的一个虚拟机啊,虚拟机呢。就是说它会配合虚拟机来使用,虚拟机,你可以使用我们这个Oracle的这个,呃,Warmwa就是box也可以使用那个warmware,还有其他的虚拟机啊,这里我们就使用这个已经装过了,所以我们就不用再安装了嘛,只要下载下它。
03:04
呃,进行安装就可以了,安装比较简单,一直呃双击下一步下一步下一步就可以了啊下软件下载包大概下载下来是这个样子的啊是这个样子的,然后我们双击安装就可以好。它呢,它其实,呃,它有一个概念叫什么呢?叫box。就说。它的这个这个box呢,其实就是我们的虚拟机的一个镜像啊,虚拟机的一个一个系统的一个一个镜像。我们来看一看。在你。安装之后啊,就说我们双击完,然后下一步下一步一直安装之后啊,安装之后呢啊,我们来检查一下啊,有没有安装完成。有没有安装完成。CMD。啊,怎么检查呢?输入V格伦特命令。We in,杠杠。如果是这样的话啊,出现了版本号,说明我们这个已经安装成功了。
04:03
对吧,然后we grant它有一个概念什么?就是box的一个概念。Box的一个概念啊,V个人的box是什么呢?其实就是啊,我们这个虚拟机里面的这个一个就说啊镜像,也就是你可以把它理解为一个这个这个。啊,Linux系统啊,它用的是一个linu系统,只不过它里面是帮我们封装打包好了啊一个。啊,就不是一个全新的啊,完全就是新安装一系统,它里面啊,可能是有一些给我们封装好的一些安装好一些软件进行打包打包的,当然我们也可以去安装这个纯净的一个系统啊。好,接着我们来再推荐一个别人封装好的一个。这个box也就是别人封装好的一个镜像,是love home类这个镜像啊,它安装了什么呢?它安装了这个一些我们常用的开发的软件在里面,所以我们就不用再用,再为我们的开发环境所。
05:03
啊,所困扰了啊,我们可以去搜一下啊拉布到这个红木,他都安装了什么环境给我们。好,复制一下啊。看这个吧,这是国外的这个。网站应该能打得开。看看。这个是这个他给我们安装的一些软件,基本上我们常用的开发的软件啊,都给我们安装了啊,还有一些可选的一些软件,所以说我们使用这个镜像啊,这个Li尼特斯系统,这个镜像的话,我们不用再装任何东西,可以直接用,用于开发非常省事啊,威格特它的作用只是说是嗯,帮我们去管理这个虚拟机的一个镜像,并且可以啊进行一个站点的一个设置啊,进行这个文件的一个同同步啊。
06:00
它的这个也可以去管理这个box,不同的box呢啊,Box其实就是啊,一个系统的一个完整的一个镜像啊,我们使用的是这里使用拉的这个红子类的。他。里面因为帮我们已经安装好了常用的所有的开发的啊软件。比较省心,你看包括gate它系统用的是U半图18.04,我们讲课之前用的是二二十,就是20.04,差别不是很大啊,所以我们命令在上面都是可以直接去使用的,好。那。首先啊。在。安装这个就是说在使用这个它这个之前呢,拉入homes之前呢,我们要先安装这个虚拟机和和V这些我们都装过了啊,装过了之后呢。啊,去下载,就是说下载这个LA home的一个配置,它是在一个getub的一个仓库里面,就这个。我们只要把这个给使用get克隆下来就行,但是现在没有学get,我们就可以先直接下载这个,呃,VIP的一个包啊。
07:08
下载下来之后,我们来看看在哪。嗯,我把它放到了这里面。啊,下载下来之后啊,它大概就是一个啊,名字可能不是这个,这个名字我改过了,它下载下来之后好像是home state-master啊。我把名字给改了之后呢。我们右键啊,解压解压这个。下载下来的这个home的包解压到哪里呢?选解压到。解压到我们的。啊。在这已经选择解压到我们的加目录啊,一定是我们用户的加目录,用户的家目录在。嗯,C盘里面。里面有一个user。User啊,然后找到当前登录的一个用户,好吧,就这里啊,如果你你这样你不好找的话啊,咱怎么着呢,咱直接复制这个下载下来的包,咱从资源管理器里面去找,是一样的C盘,然后用户。
08:10
找到你当前登录的用户对吧,然后。嗯,把它给这个。啊,粘贴到这里。粘贴到这个,你看用户的目录下。加下接着就解压到当前目录就可以了嘛,是不是。加到当前目录就可以了,好,这个不用了,我们就删了,压缩不用我们删了,这时候我们就多了一个这个吧,对不对,如果名字不一样的话,你可以改成这个啊好,接着我们来进来这个目录里面看看都有什么啊,它里面还有一层。啊,还有一层,那我们把这一层复制一下,因为我是改过名字,所以说。它还有这么一层,如果你直接下载下来解压的话,应该是不会有这个的。把这个复制过来,把这个删了吧。这个名字稍微改一改。
09:02
Homel来,接着我们去这个目录里面看看它有什么啊,有这些配置文件啊,接着它有两个这个可执行的一个脚本,一个initt的点SS,这个是呃,Unixx系统,Linux系统执行的,像ma克系统啊,我们去执行这个,用BA执行这个,如果我们Windows执行这个BAT就可以了啊,所以啊,现在要怎么办呢?要在命令行里面,我们进入到这个目录啊,复制一下这个路径,然后打开我们CMD。啊CD啊CD到这个目录。CD到我们的粘贴啊,粘贴我C到这个目录啊,在这个目录下面啊,在这个目录下面执行int,点点batitt。点BAT好,它这个这个这个脚本,它实际做了一个什么用,干了什么呢?就是给我们复制了三个文件,哪三个文件呢,给我们复制了一个homestead,压一个配置文件,然后复制了一下这个。
10:03
啊,这个这个还有一个其他的一个文件啊。其他的文件我们不用太太关心啊,我们主要关心这一个文件行了,这个是home的主要的一个配置文件。嗯,这个文件是home的一个配置文件。好,接着我们去编辑我们的这个配置文件啊。好,来介绍一下它这些配置项。首先。可以看到啊,这个是IP,也就是我们在启动好之后啊,使用window启动好这个虚拟之后,我们虚拟机里面的一个IP,这个IP我们一定要记住,因为我们要在比如host里面进行设置的时候,或者这个啊浏览器中数,就说本机里面浏览器中访问的时候,这个IP都都非常有用啊。啊,这个配置IP1定要记住。好,接着看下面的配置。这个是内存的一个配置,也就虚拟机的一个内存啊,默认这个2G就可以使用的CPU的核心数啊,使用的虚拟机就使用v box就可以了。
11:05
嗯,接着是这个。啊,公钥所在的一个地方,还有这个私钥所在的地方,这个很重要啊,你一定要保证你的加目录下面的叫S文件,有这个公钥文件,还有这个私钥文件啊,它其实它会进行一个什么操作,它会把我们加目录下面的这个公钥文件,像它启动的这个虚拟机里面的这个加目录去。创建一份啊。去呃创把这个公钥给它添加到这个呃加目录里面对吧,然后会进行这个呃本地的这个私钥。和他的公交进行认证,因为我们想一想,我们的本机的文件要和服务器的这个进行文件的一个同步,对吧,在同步的时候。啊,肯定要进行一个认证一个操作的,这里就是基于这个私钥和公钥的认证,也是上一节我们刚讲过的啊。我们来检查一下。
12:01
啊,去加目录啊,再我们再记一遍加目录。这里面点SG是有这个文件的,因为在上一节课我们使用S杠、KGN去创建。一对公钥和私钥的时候,会自动生成,在这个加木扇啊,这里我们就先跳过,接着往下看这个这个。啊,这个是我们的一个。同步的一个目录啊,第一个是我们本机的目录,也就是我们要把本机的。哪个目录?同步到虚拟机的哪个目录下?啊,也就是建立一下这个本机的一个目录和虚拟目录的一个映射的一个关系啊,注意如果是Windows用户,这里一定要。写啊,完整的一个。路径并且是反斜杠的啊,怎么来弄呢?我们可以去简单的一个啊,直接复制地址栏的一个路径就可以了,比如我们现在要这个作为我们的项目目录啊。
13:01
这个workspace做我们项目,我们先建一个。DEMO作为我们第一个项目,好,这是我们进到DEMO里面,我们在这里复制这个路径啊,复制这个路径。配置到这里就可以了啊,一定要用这种的绝对路径C盘的。好,嗯,这个是到Linux下面的那个目录啊,到Linux下面让它到code里面的DEMO吧。好DEMO。啊,那。我们就是说每一个项目一定要去建立每一个项目的一个映射清楚吧,啊,如果再有一个项目的话,我们可以再复制一下。啊,比如说再复制一下到这儿,比如DEMO2 demo2。啊,记住一定啊,不要图省事啊,为了就是说图省事,直接把这个work space,或者把整我们整个D盘直接映射到这个虚拟机中。啊,这个会非常浪费性能的,清楚吧,如果你的这个里面有有几十个项目呢,恰巧你其实正在写一个项目而已,你都要你每次啊文件要改动,要进行这么多的文件的一个同步吗。
14:07
啊,所以一定要按需啊,我们用到一个项目去,去设置一个项目的同步就可以了,这个要记住。好。接着来看下一个配置啊,Six站点的一个配置啊,站点的一个配置,这里其实就是我们本机要使用的一个域名啊,本机要使用的域名。好。这里就是说啊。在这个虚拟机里面的项目的实际的一个根目录,好吧,首先说一下这两个有什么用啊,我们。如果配置了这个的话,Map首先是本机我们要使用的一个,就是浏览器中访问的一个域名,对不对,访问的一个域名。啊,那同时它这个配置会写到哪里呢?写到虚拟机的NG里面的sor name,想想我们学NG的时候,是不是这是不是要配到so name里面对不对,那这个会会写到这个,就是说虚拟机的NX的什么配置里面呢?它的这个入场项目跟目录对吧。
15:06
好,这里可以根据需要改成你自己想要的一个域名啊。比如我们改成。Home码home.test好,这个是你项目的啊,就是在虚拟中机中里面的这个虚拟机里面的这个项目的一个根目录,你看我们是不是把我们的代码映射到这里了,对不对?所以那我们项目的这个根目录应该就是他啊,如果你是用其他的一些项目,你就再另外说吧,比如说如果你是拉项目,你可能要指定到public啊,我们现在是普通的一个项目就指定到这里就可以了。啊啊,当然如果你只是在这配了这这是不行的,你还要在你的这个host里面去去写嘛,啊这个我们都会说是这样往下看,这个是你要使用的一个数据库的一个名称啊。库。默认的啊。
16:00
用户名是。Home默认的密码是S,你在这里。找个地方记一下。这个先不用了。在这里面记下吧。Home。默认的数据库用户名和密码好username,默认的用户名就是home state。啊,默认的密码。Secret啊。这个。接着来看我们的配置啊,其实啊,这里是,呃,其他的一些配置我们暂时也用不着。只要我们把啊代码的一个映射。还有这个站点的一个配置,配置好就可以了。
17:02
嗯。接下来呢,在配置完这个之后呢,你最好还是把你的这个站点。在host里面你加一下指向那个IP,要不然的话我们在浏览器去访问那个域名。就不能正常的访问解析不到啊,我来复制一下。是。嗯,放到。复制一下放到这里。把IP也复制一下。放到它前面空格,诶,就说我们在请求这个域名的时候,会实际上指向这个IP啊,因为这个IP。又可以映射到我们配置的这个N。NGS相关的一些配置。在配置完这个配置之后呢,下面就来启动我们的,呃。尾数box。啊,启动我们的VI re,它会自动去启安装需要的一个呃box镜像,并且自动启动这个v box。
18:08
好。打开CMD啊,一定要确保你在这个目录啊,一定要确保你在这个目录,也就是我们的啊。这个先不看啊。也就是我们这个文件啊,Home stay。Dive。呃,让这个配置文件所在的目录,一定要确保你所在这个目录啊,就终端里面。啊,一定要在这,实在不放心的话,你在CD一下啊,一定要在这,在这里面干什么呢?执行这个we grow up。好。在执行未个人的APP呢。他会让你去安装。会选择一个虚拟机啊。就是它会检测你有没有镜像,没有镜像的话,他会让你去选择这个虚拟机。
19:00
因为我们看一下we list,我这已经用虚拟机了,所以它不会出现那个选项。看到了吧,它不会出现这个选项。所以我先拿这个命令给大家演示一下,这个命令你们不用敲啊,We grant box AB,我先拿这个命令你演示一下啊,这个命令你们不敲啊。因为使用这个命令添加的box呢,它装下来是这个10.1的版本。啊,结果我我后来我在使用这个vig up,我进行启动的时候呢,它要求的是这个版本,结果又相当于重装了一遍啊,我用这个命令只是让大家看一下,我们如果在第一次执行,我就0UP,就当我们没有这些镜像的时候。没有这些进账的时候,他会让我们去选择啊一些东西。啊,主要让大家看一看这个东西啊。好。啊,主要是主要是就这一步啊,在我们执行微格人的APP的时候,它会出现一个这个这个做什么用的,就让我们选择我们要使用的虚拟机,因为我们使用的是这个无box嘛,对吧,使用的它,所以我们输入三回车就可以了,输入三回车就可以了,这里就不执行了,我CTRLC终止掉啊,因为啊我这边已经。
20:09
安装了一个这个东西。对吧,我们直接为伦up就可以了。啊,如果你没有说你没有这些镜像的话,你在执行这个微up的时候呢,它会就说啊检测到你没有这个镜像,就会让你,哎选择你要使用的虚拟机,这时候你输入三回车就可以了啊,就会进行自自动的下载,但下载的这个时间不一定啊,五到这个几个小时都可能根据这个网速来决定。好吧。然后如果你下载完成之后,再执行这个,就说微软的APP的话,就会进入到,就是会启动这个。我圈box啊。好接着说一下,稍微说一下我这两个是怎么来的,一开始我是先添加的这个box嘛,先使用这个命令添加的这个box啊,就按就帮我下载了一个10.1的一个box,后来我又使用微个人的APP启动的时候结果。
21:03
它就是说它是基于什么来的呢?它是基于这个嘛,我们这里面的配置啊,就是说微宣。就微的费里面的这个配置来的啊,它是基于它来的。啊,他这里面结果他就要去用。啊,用这个。啊,9.6的一个版本,所以就没有验证通过,他又帮我下了一遍啊,也就是说我们你们使用的话,不用去先添加这个box啊,直接使用微个人的APP启动就会自动帮我们下载这个,好,当然我已经下载过了,我微的APP的时候,实际上是会把。啊,这个虚拟机给启动。啊,会把微格给启动。好,正在进行啊,虚拟机的一个配置。正在就是说导入啊,导入这个。这个box。嗯,他其实在下载完这个which book之后呢,就是对应的这个这个。
22:03
在下载完对应的这个box啊之后,在我们的这个虚拟机里面啊,可以看到。啊,就会多了一个这样的一个一个啊U半图的一个系统。等它完全的起来启动来的时候,就是各种验证都通过之后,他会把这个操把这个系统给启动啊,把这个系统自动给启动。啊,之后我们其实就我们后面基本上就用不到它了,完全通过微就可以去管理我们的服务器。这里出现了一个错啊。啊,可能是因为我这边之前已经导入过一次,后来我把这个配置都删了啊,我就录都删了,先把这个给删掉。删除所有文件,重新执行一下。你们如果是一个新啊,新安装的就是新执行的这个命令的话,应该不会出现这个问题。
23:06
好,到这里已经安装完成了,我们来往上看一看,它都执行了一个什么样的一个过程啊。首先啊,它是导入这个box,就是说导入这个love ho的这个box,它在导入的时候呢,如果没有找到这个box,它会进行下载操作,就是我之前说的,它是往往哪里导呢?其实就在是往我们的虚拟机里导,对吧?往我们虚拟导之前那个报错,就是因为我之前已经有这个存在了,所以他一直导入失败,我们把那个删掉之后再导入成功了。好,下面是。检查啊版本。端口的一个映射。嗯,接着是啊,进行了这个SSH的一个认证。接着往下走。
24:04
嗯,这是一个啊,共享的一个目录,然后这个是我们自己设置的那个,就是说代码就是文件共享的一个目录。啊,接着看。嗯,下面就是。啊,我们的一个添加了一个公钥。好,下面基本上就是在执行一些脚本了,执行一些命令,比如说啊,去升级什么,去安装什么。啊,去升级一些软件,安装一些软件。哎呀,一直到最后。这个时候啊,我们的。啊,格伦塔。啊,已经通过微伦启动了这个虚拟机。这时候。就可以把它最小化,不用管了啊。啊,注意一下我们的虚拟机的IP是这个。下面我们尝试使用。
25:00
嗯,S工具去连接。这个服务器试一试啊。CMD。SSH root。艾特192.168。第二。10.10,这是我们的IP,好,输入yes。啊,让我们输入一个密码,因为是管理员嘛,超级管理员,那我们输入密码,那我们刚才还说了啊,他进行了这个啊公钥和钥的认证,就不用输密码了,那我告诉你啊,他进行公钥私钥认证,就说在添加这个公钥的时候啊。他是在给一个普通用户进行添加的,而不是这个超级用户,清楚吧。那哪个普通用户呢?我在这给你演示一下SSH是were啊,At。192.168.10.10。这个时候看可以直接连上,不用密码认证对不对。
26:01
好,说明我们的这个公钥和私钥是这个公钥是给这个微格用户添加的,那我们再来记录一下啊home s安装以后。Home state啊,默认的服务器。用户名和密码。也就是我们用于登录啊服务器的默认的用户名和密码。啊,用户就是我们的。啊V密码当然也是啊vta,不过我们已经就是它自动帮我们把公钥给加到了啊Linux这个服务器中,所以我们不用不需要密码直接就可以去认证通过。但是我们要记下它是有密码的。嗯。这个时候啊,但我们不可能说啊,每次去连接这个啊服务器的时候。都要输入这个IP。
27:00
就是很比较麻烦,其实v re给我们提供了一个非常方便的一个命令v grant sh,他说呃,这不是一个v grantt的一个目录啊,要初始化才行,这是因为我们当前执行这个命令的时候啊,没有在那个配置的这个文件,也就是说我们在执行这个v ret相关的这个命令的时候。除了你查看啊,We grant box相关的一些命令,比如box list呀,啊这些全局的一些命令的时候,我们要操作这个虚拟机的时候,要去哪呢?要我们要操作某个这个box中呢。就是要去到哪呢?去到我们的配置文件里面啊,去到这个目录里面才行。来CD到这里面啊,要在这个目里面才行,因为我们的啊we re的这个配置文件是在这个目下面的,看到没有它的这个we file对吧,所以我们要在这个里面进行。SSH。就可以帮我们去连上这个服务器了。
28:02
是不是已经连上了?接下来我们来看一看我们配置的这个目录啊,就是我们本机的这个目录DEMO,它下面的这个DEMO。这个目录啊,有没有啊,同步到Linux系统中的这个目录,去这个目录查看一下啊。去linu系统中的这个目录查看一下CD到home we code的好,可以看到这里面有一个DEMO目录,对吧?这个时候我们进到这个DEMO目录。R,看一下是空的,好,那现在我们要在本机上啊,进行一个代码的一个开发。比如说在这个目录里面进行代码的开发,我在这里去创建一个。这里去创建一个文件啊,保存到哪里呢。
29:02
保存到。文件。另存为。桌面存到我们项目的这个目录。好,存到这里面,名字就叫index HTML。哎,这里面就多了一个这个文件对吧。我们在这里面写几个代码哈。Word保存。现在。啊,我们在这个看一下我们的站点的配置。这个配置文件啊,C的配置文件站点的配置呢,是它啊它呢,嗯,我们在浏览器中可以直接访问这个域名,看他们正确领导首先检查一下host有没有进行这个啊解析已经有了,已经能解析这域名,现在在浏览器中去访问。
30:01
这个域名。可以看到是不是可以访问到我们的这个文件,对吧,这样的话就做到了,我们在。Windows里面去开发啊,我们的代码它会自动帮我们同步到虚拟机里面,我们去虚拟机里面来看看LL是不是这里就多了一个文件啊,连这个文件的内容啊都跟我们。刚才写的一样,你看哈,对不对。啊,比如我们现在在改改一些内容。嗯,哈哈,来保存。可以看到啊,我们现在CT服务器可以看到这里面内容是已经已经改变了,对吧,那么去刷新浏览器肯定也是改变的,这样的话我们就可以做到在我们Windows上啊,用各种的IDE,各种编辑去开发代码,然后我们的代码呢啊,通过我们的。啊,这个配置的一个设置。这个设置会自动给我们同步到Linux服务下,而我们的站点配置呢,让就是说虚拟机里面的Linux又去解,就是说把这个目录设置为啊项目的根目录啊,同时指定这个域名。
31:02
就可以去很友好的开发我们的代码了啊,如果有多个站点呢,也是可以在这里面去进行复制的啊,可以复制配置多个的知道吧啊,多个的同步目录都是可以的。啊,都是可以的好。这里我就先撤回啊。啊,如果你改了这个配置呢,就在你的虚拟机还在运行中,你改了这个配置呢。啊,就是说在你的虚拟机还在运行的时候,你改这个配置的话,你要执行一个这个刷新配置的一个命令啊。要执行一个刷新配置的一个命令。我们先把虚拟机的这个链接给退掉啊,在这个这个目录下啊,如果你的虚拟机还在运行中啊,就是。像这种情况下啊。还在运行中,你如果改了这个配置的话。要刷新一下配置。
32:00
刷新配置的命令是re。Lo的。杠杠,POV。啊,当然你也可以选择重启这个虚拟机,都是一样的啊,如果你的这个虚拟机出现了很严重的问题,你可以销毁虚拟机,并且。啊,重新构建啊,销毁虚拟机使用VI。B。ET啊,杠杠。Forc强制销毁虚拟机啊,这里我就看到是解释了,不销毁啊,销毁之后呢,We re up重新构建就可以了啊,如果你只是正常的关机微alt就可以了。那如果你是正常的启动呢?We grant?打就可以了。如果你要重启虚拟机呢?啊,就是we grant reload。如果你要登录到虚拟机里面啊,进行一些命令操作,可以使用VI grant s。
33:07
这些就是啊,给伦常用的一些命令。啊,当然它最主要的作用就是可以帮我们快速的配置站点啊,快速的就是说啊,进行这个代码的一个同步,帮我把代码文件什么同步到虚虚拟机中,然后我们能用Linux的这个操作系统去运行。啊,我们的代码。然后能让我们能在这个Windows下进行开发。
我来说两句