Java
文章平均质量分 75
MAGIC_LAN
这个作者很懒,什么都没留下…
展开
-
oracle系列教材 (四)- 查询语句
查询语句是最常见的一种SQL语句。是关键字表示从哪张表查询数据。原创 2023-07-29 13:48:17 · 60 阅读 · 0 评论 -
oracle系列教材 (三)- employee表
hr.employees表即员工表,里面包含员工姓,名,工资,入职时间,所属部门等。接下来所有的SQL的学习都会基于oracle自带的数据库XE基础上进行。比如 hr.employees,hr.departments。XE数据库上存在一系列以hr.开头的表。原创 2023-07-29 13:47:27 · 1041 阅读 · 0 评论 -
oracle系列教材 (一)- 安装数据库
安装的时候,不要装在中文目录下,尽量使用默认路径安装,否则会出现一些奇怪的问题。经验证可在XP,win7和win10下安装。管理员密码一般输入sys。原创 2023-07-29 13:44:29 · 57 阅读 · 0 评论 -
SpringCloud系列教材 (十七)- 端口号总结
步骤1:多个微服务步骤2:端口号总结步骤1:多个微服务springcloud 做到现在,已经有很多微服务了。 我们打开 父项目 springcloud 的 pom.xml 可以发现里面有很多子项目了。 <modules> <module>eureka-server</module> <module>product-data-service</module> <mod...原创 2020-06-05 09:42:48 · 861 阅读 · 0 评论 -
SpringCloud系列教材 (十六)- 网关 Zuul
步骤1:为何要用网关步骤2:先运行,看到效果,再学习步骤3:模仿和排错步骤4:创建子项目步骤5:pom.xml步骤6:ProductServiceZuulApplication步骤7:application.yml步骤1:为何要用网关我们现在有两种微服务,分别是数据微服务和视图微服务。他们有可能放在不同的 ip 地址上,有可能是不同的端口。为了访问他们,就需要记录这些地址和端口。 而地址和端口都可能会变化,这就增加了访问者的负担。所以这个时候,我们就可以用网关来解决这个问题。如...原创 2020-06-05 09:42:15 · 219 阅读 · 0 评论 -
SpringCloud系列教材 (十五)- 断路器聚合监控
步骤1:需求步骤2:先运行,看到效果,再学习步骤3:模仿和排错步骤4:创建子项目步骤5:pom.xml步骤6:ProductServiceTurbineApplication步骤7:application.yml步骤8:AccessViewService步骤1:需求在上个知识点讲解了针对一个微服务的断路器监控,但是微服务通常会是多个实例组成的一个集群。 倘若集群里的实例比较多,难道要挨个挨个去监控这些实例吗? 何况有时候,根据集群的需要,会动态增加或者减少实例,监控起来就更麻烦了。所以...原创 2020-06-05 09:41:45 · 253 阅读 · 0 评论 -
SpringCloud系列教材 (十四)- 断路器监控
步骤1:需求步骤2:先运行,看到效果,再学习步骤3:监控图解步骤4:关闭数据服务步骤5:模仿和排错步骤6:创建子项目步骤7:pom.xml步骤8:ProductServiceHystrixDashboardApplication步骤9:application.yml步骤10:ProductViewServiceFeignApplication步骤11:AccessViewService步骤1:需求前面讲解了断路器, 当数据服务不可用的时候, 断路器就会发挥作用。那么数据服务什么时候可用...原创 2020-06-05 09:41:11 · 219 阅读 · 0 评论 -
SpringCloud系列教材 (十)- 配置服务器
在业务上有时候需要修改一些配置信息,比如说 版本信息吧~ 倘若没有配置服务, 那么就需要挨个修改微服务,挨个重新部署微服务,这样就比较麻烦。为了偷懒, 这些配置信息就会放在一个公共的地方,比如git, 然后通过配置服务器把它获取下来,然后微服务再从配置服务器上取下来。这样只要修改git上的信息,那么同一个集群里的所有微服务都立即获取相应信息了,这样就大大节约了开发,上线和重新部署的时间了。的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。看到如图所示,就表示配置服务器准备好了。原创 2020-06-05 09:32:50 · 205 阅读 · 0 评论 -
SpringCloud系列教材 (九)- 服务链路追踪
步骤1:什么是服务链路步骤2:先运行,看到效果,再学习步骤3:模仿和排错步骤4:改造步骤5:pom.xml步骤6:配置信息步骤7:sampler步骤1:什么是服务链路在前面的例子里,我们有两个微服务,分别是数据服务和视图服务,随着业务的增加,就会有越来越多的微服务存在,他们之间也会有更加复杂的调用关系。这个调用关系,仅仅通过观察代码,会越来越难以识别,所以就需要通过 zipkin 服务链路追踪服务器 这个东西来用图片进行识别了。步骤2:先运行,看到效果,再学习老规矩,先下...原创 2020-06-04 09:53:47 · 254 阅读 · 0 评论 -
SpringCloud系列教材 (八)- 视图微服务-Feign
Feign 客户端, 通过 注解方式 访问 访问PRODUCT-DATA-SERVICE服务的 products路径, product-data-service 既不是域名也不是ip地址,而是 数据服务在 eureka 注册中心的名称。多刷新几遍,会发现这个端口有时候是 8001,有时候是8002. 从而观察到访问 数据服务集群,客户端负载均衡的效果。多刷新几遍,会发现这个端口有时候是 8001,有时候是8002. 从而观察到访问 数据服务集群,客户端负载均衡的效果。Feign 是什么呢?原创 2020-06-04 09:53:15 · 202 阅读 · 0 评论 -
SpringCloud系列教材 (七)- 视图微服务-Ribbon
里,注册了8001和8002两个微服务, Ribbon 会从注册中心获知这个信息,然后由 Ribbon 这个客户端自己决定是调用哪个,这个就叫做客户端负载均衡。2. 使用前后端分离,是走的 http 协议, 那么就无法演示重要的 微服务端调用了,所以站长这里特意没有用前后端分离,以便于大家观察和掌握微服务的彼此调用。多刷新几遍,会发现这个端口有时候是 8001,有时候是8002. 从而观察到访问 数据服务集群,客户端负载均衡的效果。配置类,指定了 eureka server 的地址,以及自己的名称。原创 2020-06-04 09:52:44 · 238 阅读 · 0 评论 -
SpringCloud系列教材 (六)- 注册数据微服务
步骤1:先运行,看到效果,再学习步骤2:模仿和排错步骤3:创建子项目步骤4:pom.xml步骤5:Product步骤6:服务类步骤7:ProductController步骤8:ProductDataServiceApplication步骤9:application.yml步骤10:启动两个 微服务步骤11:访问微服务步骤1:先运行,看到效果,再学习老规矩,先下载下载区(点击进入)的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。先启动 EurekaServ...原创 2020-06-04 09:52:13 · 144 阅读 · 0 评论 -
SpringCloud系列教材 (五)- 服务注册中心
启动的时候,端口号没有在配置文件里,而是直接放在代码里,这么做是为了提示同学这个端口号是否被占用了,否则有时候端口号被占用了,同学老是启动不了,搞得自己晕头转向的~这是一个 EurekaServer ,它扮演的角色是注册中心,用于注册各种微服务,以便于其他微服务找到和访问。把你自己做的项目文件夹,和我的可运行项目文件夹进行比较。2. 有基于 hutool 的依赖, hutool 是一个工具类,用起来很方便,这是。的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。原创 2020-06-04 09:51:31 · 151 阅读 · 0 评论 -
SpringCloud系列教材 (五)- 服务注册中心
步骤1:先运行,看到效果,再学习步骤2:模仿和排错步骤3:创建父项目步骤4:创建子项目步骤5:pom.xml步骤6:EurekaServerApplication步骤7:application.yml步骤8:启动并访问步骤1:先运行,看到效果,再学习老规矩,先下载下载区(点击进入)的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。运行 EurekaServerApplication,并访问:http://127.0.0.1:8761/步骤2:...原创 2020-06-04 09:50:42 · 162 阅读 · 0 评论 -
SpringCloud系列教材 (四)- 父子项目
步骤1:maven 父子( 聚合)项目步骤2:m2e plugin步骤1:maven 父子( 聚合)项目接下来就要开始做 springcloud 项目了。 springcloud 比较特别,它由多个微服务组成, 所谓的微服务,就是 springboot,。所以可以说 springcloud 由多个 springboot 项目组成, 而这些 springboot 之间又是围绕一个共同目的而存在的。所以,为了便于组织这些 springboot 项目,我们会采用 maven 父子-聚合...原创 2020-06-04 09:50:10 · 212 阅读 · 0 评论 -
SpringCloud系列教材 (三)- 分布式和集群
那么有了微服务,就存在如何管理这个微服务,以及这两个微服务之间如何通信的问题,所以就要引入一个 微服务注册中心概念,这个微服务注册中心在 springcloud 里就叫做 eureka server, 通过它把就可以把微服务注册起来,以供将来调用。比如 product-service 这个项目,就可以拆成两个微服务,分别是 数据微服务,和视图微服务,其实就是俩 springboot, 只是各自做的事情都更单纯~,我们了解到了它把多个功能放在了同一个应用里,如图所示把提供数据部分,和视图部分都放在了一起。原创 2020-06-04 09:48:29 · 189 阅读 · 0 评论 -
SpringCloud系列教材 (二)- 单体架构例子
步骤1:先运行,看到效果,再学习步骤2:模仿和排错步骤3:Springboot步骤4:pom.xml步骤5:ProductServiceApplication步骤6:Product步骤7:ProductService步骤8:ProductController步骤9:products.html步骤10:application.properties步骤11:单体结构步骤1:先运行,看到效果,再学习老规矩,先下载下载区(点击进入)的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达...原创 2020-06-04 09:47:50 · 241 阅读 · 0 评论 -
SpringCloud系列教材 (一)- 介绍
步骤1:先讲单体架构系统步骤2:分布式和集群步骤3:SpringCloud步骤4:课程安排步骤1:先讲单体架构系统在讲解Springcloud 之前,我们先讲一讲单体架构系统。 所谓的单体架构就是所有功能,都放在一个应用里。比如后面要讲的一个单体产品服务应用,提供数据和视图都在一个springboot里。单体架构系统有其好处,如便于开发,测试,部署也很方便,直接打成一个 jar 或者 war, 就什么都好了。不过单体架构也有其弊端,最主要体现在高访问,高并发的上限是固定的。 比如一...原创 2020-06-04 09:47:12 · 233 阅读 · 0 评论 -
消息中间件系列教材 (十二)- RabbitMQ - topic 模式代码
步骤1:先运行,看到效果,再学习步骤2:模仿和排错步骤3:pom.xml步骤4:RabbitMQUtil步骤5:TestProducer步骤6:TestCustomer4USA步骤7:TestCustomer4News步骤1:先运行,看到效果,再学习老规矩,先下载下载区(点击进入)的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。先运行 TestCustomer4USA 专门用于接受美国专题消息再运行 TestCustomer4News 专门用于接受新闻...原创 2020-06-02 16:26:29 · 212 阅读 · 0 评论 -
消息中间件系列教材 (十一)- RabbitMQ - direct 模式代码
步骤1:先运行,看到效果,再学习步骤2:模仿和排错步骤3:pom.xml步骤4:RabbitMQUtil步骤5:TestDriectProducer步骤6:TestDriectCustomer步骤1:先运行,看到效果,再学习老规矩,先下载下载区(点击进入)的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。先运行两次 TestDriectCustomer,启动两个消费者。然后运行一次 TestDriectProducer, 启动生产者,生产100条信息。...原创 2020-05-13 09:26:01 · 173 阅读 · 0 评论 -
消息中间件系列教材 (十)- RabbitMQ - fanout 模式代码
把你自己做的项目文件夹,和我的可运行项目文件夹进行比较。的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。在确保可运行项目能够正确无误地运行之后,再严格照着教程的步骤,对代码模仿一遍。然后运行一次 TestProducer, 启动生产者,生产100条信息。这个软件很牛逼的,可以知道文件夹里哪两个文件不对,并且很明显地标记出来。模仿过程难免代码有出入,导致无法得到期望的运行结果,此时此刻通过比较。,可以较为明显地提升学习速度,跨过学习路上的各个槛。原创 2020-05-13 09:25:27 · 213 阅读 · 0 评论 -
消息中间件系列教材 (九)- RabbitMQ - 模式讲解
协议内容我们就没必要深入研究了,简单地说,通过这种协议,可以处理更为复杂的业务需求~与 ActiveMQ 拿到消息就直接放在队列等待消费者拿走不同, Rabbit 拿到消息之后,会先交给 交换机 (Exchange), 然后交换机再根据预先设定的不同绑定( Bindings )策略,来确定要发给哪个队列。主题模式,注意这里的主题模式,和 ActivityMQ 里的不一样。Direct 模式就是指定队列模式, 消息来了,只发给指定的 Queue, 其他Queue 都收不到。消息来了,会发给所有的队列~原创 2020-05-13 09:24:01 · 218 阅读 · 0 评论 -
消息中间件系列教材 (八)- RabbitMQ - 安装
使用默认设置安装完毕之后,会在如图所示的路径看到 erl.exe 文件,它就相当于 jdk里的 java.exe。其中的 otp_win64_18.1.exe 就是 erlang的,注意,这个是64位的,如果你的系统是32的,就装不了了。的 rar, 运行里面的 rabbitmq-server-3.6.5.exe,使用默认设置,下一步下一步即可。与 jdk类似,也要配置路径,只是不用配置 ERL_HOME,直接配置 PATH就可以了。失败了,因为这个命令的运行,需要管理员身份才可以执行。原创 2020-05-13 09:23:29 · 203 阅读 · 0 评论 -
消息中间件系列教材 (七)- RabbitMQ - 介绍
步骤1:介绍步骤1:介绍与 ActiveMQ 一样, rabbitmq 也是一种 消息中间件的实现。与之的区别在于, rabbitmq 更专业,更灵活,大企业,大型高要求的应用,普遍会采用 rabbitmq 来支持,所以我们还是需要掌握它滴。更多内容,点击了解:https://how2j.cn/k/message/message-rabbitmq/2029.html...原创 2020-05-13 09:22:58 · 165 阅读 · 0 评论 -
消息中间件系列教材 (六)- ActiveMQ - Spring方式
步骤1:spring 模式步骤2:先运行,看到效果,再学习步骤3:模仿和排错步骤4:pom.xml步骤5:spring_jms.xml步骤6:ActiveMQUtil步骤7:Producer步骤8:TestProducer步骤9:MyMessageListener步骤10:TestConsumer步骤11:模式切换步骤1:spring 模式前面学习的是 jms 模式,下面来采用 spring 模式使用 activeMQ。步骤2:先运行,看到效果,再学习老规矩,先下载下载区(...原创 2020-05-13 09:20:26 · 254 阅读 · 0 评论 -
消息中间件系列教材 (五)- ActiveMQ - 主题模式
工具类,用于判断 activemq 服务器是否启动,免得有些学员在服务器没有启动的情况先,搞半天都搞不出来。需要注意的一点是,对于主题模式而言, 消费者要先启动。就如同现在才订阅站长的公众号,那么以前发的教程更新信息,现在是看不到的。只有以后发的,才看得到了。这两个消费者都会收到这100条消息,如图所示这样的效果,两个消费者都能获取全部的信息。主题模式就是每个订阅了的消费者,都可以获取所有的消息,而不像队列模式那样要争抢~的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。原创 2020-05-13 09:19:37 · 434 阅读 · 0 评论 -
消息中间件系列教材 (四)- ActiveMQ - 队列模式
步骤1:模式步骤2:先运行,看到效果,再学习步骤3:模仿和排错步骤4:管理界面步骤5:pom.xml步骤6:ActiveMQUtil步骤7:TestProducer步骤8:TestConsumer步骤1:模式activeMQ 有两种模式,分别是队列模式和主题模式。队列模式,其实就是分食模式。 比如生产方发了 10条消息到 activeMQ 服务器, 而此时有多个 消费方,那么这些消费方就会瓜分这些10条消息,一条消息只会被一个消费方得到。主题模式,就是订阅模式。 比如生产方发了10条...原创 2020-05-13 09:19:04 · 314 阅读 · 0 评论 -
消息中间件系列教材 (三)- ActiveMQ - 安装服务端
这里可以观察到 队列数据和主题数据等信息,不过还没有客户端发消息来,所以也没有数据,就先不管他了。下载好了之后,运行32或者64位操作系统对应的 activemq.bat 就启动了。这就是服务器的管理界面,在里面就可以看到都有哪些消息被创建了,哪些被消费了。有现成的,apache-activemq-5.15.8-bin.rar。会弹出登录对话框,输入默认的账号和密码,都是: admin。就可以看到如图所示的界面。启动好之后, 访问地址。就来到了管理界面了。原创 2020-05-13 09:18:34 · 189 阅读 · 0 评论 -
消息中间件系列教材 (一)- 概述 - 介绍
步骤1:消息中间件步骤2:实现选择步骤3:撸代码步骤1:消息中间件什么是消息中间件呢?以站长的公众号为例,如果某学员订阅(关注)了这个公众号,每当站长发布新教程的时候,都可以在这个公众号得到通知,这就是一种广播订阅模式。而公众号如何实现这一点呢? 就可以通过 消息中间件 来轻松实现。站长把最新的教程信息 发给 消息中间件服务器, 学员手机上的微信里的消息中间件客户端,就会自动去把消息获取出来显示,这样站长就达到了教程广播的效果了。步骤2:实现选择消息中间件有很多种,...原创 2020-05-13 09:17:48 · 270 阅读 · 0 评论 -
docker系列教材 (九)- 提交镜像
步骤1:提交镜像步骤2:注册账号步骤3:登录步骤4:push步骤1:提交镜像在commit 提交容器中,我们把一个容器转换为了镜像,接下来我们要把这个镜像提交到仓库里,应该怎么做呢?步骤2:注册账号仓库位于hub.docker.com上,为了提交新的镜像,肯定要有账号才行,所以第一步是注册账号。比如我就注册了名为 how2j 的账号。注意: 这里命名很重要,因为在提交镜像的时候,由于不是官方的,必须在提交的时候用 : how2j/tmall 这样的命名格式,而不...原创 2020-05-09 09:35:22 · 163 阅读 · 0 评论 -
docker系列教材 (八)- 可以访问虚拟机,但是无法 放访问里面的Docker,怎么处理
虚拟机一旦重启,或者关机过,那么就会出现可以访问 Linux,但是无法访问里面的 Docker的情况。原创 2020-05-09 09:34:52 · 603 阅读 · 0 评论 -
docker系列教材 (七)- 容器管理
需要注意的是, stop 之后再 start, 容器需要启动,tomcat也需要启动,里面的mysql 也需要启动,都很花时间,所以要等待十几秒再访问,才能看到结果,否则会误以启动失败了。而使用 attach会卡死。具体怎么用,站长也没搞明白,听说过时了,就。commit 很有意思了,因为它的作用就是把一个活生生的容器,再转换为镜像。如图所示,在运行中的 容器是不能删除的,要先 stop ,然后再删除。检查这个容器里的各项信息,太长就不截图了。就是常见的生命周期命令,没什么好说的。恢复:unpause。原创 2020-05-09 09:34:20 · 290 阅读 · 0 评论 -
docker系列教材 (六)- 镜像管理
怎么删不掉,这是因为这个镜像有对应的容器啦。所以这里就暂时不管啦,等后面学会了删除容器,再来删除镜像吧。通过tag可以对镜像进行标记,如图所示,把 docker.io/tomcat:8.0 标记成了docker.io/但是呢,还没讲怎么修改镜像,所以先不谈怎么提交,后面专门来谈如何push。而第一个,就是docker 官网提供的 tomcat了,一般就用他了吧。有时候为了调试,需要不厌其烦地删除镜像,下面这句话就会自动删除所有镜像啦。点击官网的 Tomcat 镜像,然后点击 tag,就发现又有很多版本。原创 2020-05-09 09:33:49 · 259 阅读 · 0 评论 -
docker系列教材 (五)- 概念理解
p8080:8080 和21 一个道理,在本例里,访问的地址是 http://192.168.84.128:8080/tmall/, 这个 192.168.84.128 是CentOS 的ip地址,8080是 CentOS 的端口,但是通过-p8080:8080 这么一映射,就访问到容器里的8080端口上的 tomcat了。拉到本地之后,再把这个镜像激活,所谓的激活,就是把他 run 起来。所谓的镜像,就是持久化后的,安装了各种工具,软件和服务的一个Linux 操作系统。镜像就相当于还没激活的容器。原创 2020-05-09 09:33:18 · 170 阅读 · 0 评论 -
docker系列教材 (四)- 跑天猫
经过以上的配置工作后,接下来,就要把它从 hub.docker.com 上拉下来。有的同学,跑起来之后,只有图片,没有数据,我研究了一下。虚拟机的 dns 是宿主机,即同学用的台式电脑或者笔记本。站长的 天猫是放在 hub.docker.com 的,系在国外滴,学员要拉到本机会比较卡。这些工具都是比较常见的,尤其在检验某个服务是否正常工作的时候,会起到很好的作用。在教程里使用的访问地址是站长虚拟机的地址,你的虚拟机地址肯定不是这个。192.168.84.2,这样是不行的,后面 docker 运行会出问题。原创 2020-05-09 09:32:06 · 344 阅读 · 0 评论 -
docker系列教材 (三)- 安装Docker
我们会通过 yum 来安装 Docker, 所以首先更新 yum。中安装的 CentOS 上安装 Docker了。看到那个 active 就表示已经在运行啦。接着就是安装 Docker。仅仅安装了还不行,还要启动。接下来,站长就会基于。原创 2020-05-09 09:31:33 · 200 阅读 · 0 评论 -
docker系列教材 (二)- 安装虚拟机
步骤1:关于 Docker 安装步骤2:Linux 操作系统步骤3:通过 VMWare 虚拟机 安装 Linux步骤1:关于 Docker 安装市面上的教程,安装 Docker 通常会分为1. Linux 里安装 Docker2. Mac 里安装 Docker3. Windows 里安装 Docker事实上呢。。。。大家工作的时候90%的可能性,都是会在 Linux 上装 Docker,用 Docker. 所以 Mac安装和 Windows 安装就显得意义不大了,所以站长就直接...原创 2020-05-09 09:31:00 · 225 阅读 · 0 评论 -
docker系列教材 (一)- 简介
什么是 Docker ,为什么便于大家理解,站长把部署这个事情,分为不用 Docker和用 Docker 两种方式来比较,同学们就比较好理解 Docker 是干什么的了。简单地说,站长手里有个 WEB 应用,叫做模仿天猫 J2EE版,现在站长把这个给大家用。这个搭建环境的过程是如此之长, 不仅耗时耗力,而且只要有一步忘记了,或者做错了,都会卡在那里做不下去,无法得到最后想要的效果了。5. 然后,站长直接把 Docker 里面这个,已经有环境,已经装好了J2EE应用,已经确保可以用的。原创 2020-05-07 09:25:12 · 241 阅读 · 0 评论 -
虚拟机安装Linux系列教材 (八)- 设置 Centos7 为固定ip地址
按照前面的安装和配置,每次重启 vmware 多有可能导致 CentOS 的 ip 地址发生变化。为了获取新的ip地址,不得不通过 vmware 本身进入 系统执行 ip address 才知道新的地址是多少,这样 ssh 工具链接, ftp 客户端链接都不方便。退回win10 桌面,然后输入快捷键 win+i,在输入框里输入 wlan , 然后选中 更改WLAN 设置。再回到 windows 连接 虚拟机,可以发现 192.168.2.2 也是能ping 通的,就欧啦。记住,别用其他ip地址,就用这个。原创 2020-05-07 09:24:23 · 262 阅读 · 0 评论 -
虚拟机安装Linux系列教材 (七)- 常用工具
可以看到,域名服务器是 192.168.84.2. 而 192.168.84.2 就是宿主机的地址。这些工具都是比较常见的,尤其在检验某个服务是否正常工作的时候,会起到很好的作用。刚装的 CentOS , 有些工具有,有些没有,所以我会习惯性地装如下工具。iproute 用来执行 ip address 查看本机地址。用来查看网卡地址,默认是安装了的,再装也没事。当然,现在没有ftp 服务器,会显示拒绝链接。用来在本地查看 ftp 服务器是否装好了。ftp 用来测试ftp 服务器。通过输入 bye 退出。原创 2020-05-07 09:23:45 · 172 阅读 · 0 评论