Tomcat的手动启动(解决一闪而过启动不了的问题),关闭和配置

         1.启动:
         ※去bin目录下的startup.bat,然后双击运行改文件即可
在这里插入图片描述
         ※访问:1、在浏览器输入:http://localhost:8080 回车访问 访问自己http/2、//别人的ip:8080 访问别人,打开服务器后留着,不要关掉,不然访问不了
在这里插入图片描述
         ※可以在cmd中运行ipconfig查看自己的ip地址
在这里插入图片描述
         ※可能遇到的问题
             1.黑窗口一闪而过:
                 ※原因:没有正确JAVA_HOME这个环境变量
                 ※解决方案:正确配置
                 (我的电脑->属性->高级设置->环境变量,在系统变量创建一个JAVA_HOME,把JDK的安装路径放上去,然后在在path变量就可以解决一闪而过的问题了)
在这里插入图片描述
在这里插入图片描述
                 (那么为什么会存在这么一个问题呢?这个JAVA_HOME有什么用,可以看到startup.bat是Windows批处理文件,批处理文件里写的是啥,其实就是写着Window里面的dos命令,用Notepad++打开,可以看到27行,有一句如果存在CATALINA_HOME,然后里边有个catalina的bat,就是如果存在这个bat,那么我们就会去访问这个bat了,那么这个bat是什么?可以看到bin目录最上边有个catalina.bat,同样用Notepad++打开查看,如下图,写到使用JAVA_HOME,"%JAVA_HOME%",相当于使用到了环境变量里的JAVA_HOME,所以你必须在环境指定这么一个JAVA_HOME才可以,要是他找不到JDK的话Tomcat就运行不起来,因为Tomcat这么一个服务器软件,他是纯JAVA编写的,他的启动和运行需要依赖于安装的JDK。)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

             2.启动报错:
                 (比如你已经在电脑上启动了一个Tomcat,你忘记了,又去启动了一次,第二次启动的就会报错,就会关掉了,错误信息可用在logs日志文件里边找到,通过找可以知道原因是BindException:Address already in use:bind,意思就是端口号冲突了,即端口号被占用了,因为当启动Tomcat时就会占用8080这个端口号,第一次启动占了,第二次在启动还要占8080,所以就启动报错了,因为有时候计算机的一些应用程序,他比较傻,他启动的时候有可能就会把8080占用了,并不说这里启动两次的问题,起两次就把他关了就行,)
                1.暴力:找到占用的端口号,并且找到对应的进程,杀死该进程
                 (在cmd输入netstat -ano 找到8080 后面的数字编号就是PID,PID被称为进程ID,然后启动任务管理器,点击查看的选择列,把PID√上,选上后进程的ID就有了,根据刚刚查到的PID,直接找到后结束进程,把占用的8080的程序的结束掉,再去启动就可以了)

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

                2.温柔:修改自身的端口号
                 (在Tomcat的安装目录下的conf目录,里边的放的是配置文件,进去后找到server.xml,用记事本或其他打开开,在69行找到配置的地方8080,可以改成自己想改的端口号,但是这样可能还会出错,因为下面还有一些端口号也要跟着改,改完后就可以两个并存了,但是将来要改的话建议就改个默认端口就可以了,不要改那么多。然后一般会将Tomcat的默认端口号改为80,因为80端口号是http协议的默认端口号,这样改的好处就是在访问时就不用输入端口号了,比如直接打localhost就可以了)
在这里插入图片描述
         2.关闭:
             1.正常关闭:
                  ※bin/shutdown.bat(bin目录下的shutdown.bat)
                  ※ctrl+c

             2.强制关闭:
                  ※点击启动窗口的x图标,即直接×掉

         3.配置:
               ※部署项目的方式:
                   1.直接将项目直接放到webapps目录下即可
                   (比如说随便在一个盘下边写了 一个叫hello的web的项目,项目就是个文件夹,然后在里面定义一些静态的资源文件,如下图,就是一个非常简单的一个页面,在这个项目里边只有一个资源就是hello.html,那么接下来要做的事就是把这个项目直接粘到Tomcat的websapp目录下边,项目就部署完成了,部署成功了,就意味着别人可以通过浏览器访问到你这个项目里边的资源,然后去bin目录手动启动一下,然后通过localhost/hello/hello.html访问,hello就是项目的访问路径,然后要去访问hello下的hello.html)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
                       ※/hello:项目的访问路径–>专业的名称叫做虚拟目录
                       ※简化部署:将项目打成一个war包,再war包放置到webapps目录下,web包会自动解压缩
                       (先把websapp里的hello项目删掉,假设将来一个hello项目,里面有很多资源,好多页面,那么在拷贝的过程中就会比较慢,我们就可以给他打个包,右键添加到hello.zip,然后把后缀名改为war,打包压缩后,他的传输或者说复制的速度,就比散的文件快很多,而且把war包复制到websapp目录下,过一会他就会自动帮你把hello文件解压出来,再去访问就行了,如果将来想删除这个项目,war包删了,他会自动把hello那个文件夹删了。但是他也有明显的缺点,就是在部署项目的时候,它的虚拟目录的名字和项目的名字是一样的,而且还得拷贝这个项目websapp目录,不管是打war包还是复制那个文件夹,都需要拷到websapp下边,那可不可以不拷贝,就把项目直接放在他原本的盘符下边,就可完成部署呢,用第二种方法就可以)
在这里插入图片描述

                   2.配置conf目录下的sever.xml文件,
                       (先把hello项目从websapp删掉,服务器关掉,然后在conf目录下的server.xml里边配置,拉倒最下面,有个host标签,在host标签体中,在后边找个位置,配置一些内容,先写一个Context 标签,注意是自闭和标签,一定要写对,里边写两个属性,一个是docBase,指的就是项目存放的路径,就是在哪个盘符下的那个文件,然后在写一个path,这个path就是设置你这个项目访问的路径,也就是虚拟路径,我们叫/hehe,这样项目就部署完成了,接下来就可以去启动服务器,通localhost/hehe/hello.html,注意虚拟目录即访问路径是hehe不是hello,刚刚设置的是hehe,这种方式就比较灵活一些,)
在这里插入图片描述
在这里插入图片描述
                       (缺点:首先,server是服务器的意思,那么server.xml指的其实就是整个Tomcat的一个核心的配置文件,就是配置Tomcat的整体的,那么现在在server.xml里面部署项目的话,那么这个项目相当于是一部分内容,也就是说一个Tomcat可以部署很多很多的项目,那么配置了这么一个项目,有可能把整个的这个Tomcat的核心配置文件弄坏了,那么其他项目也可能运行不起来了)


                    3.在conf\Catalina\localhost创建任意名称的xml文件。在文件中编写第二个方法时在server.xml配置的访问路径即可

                       (第三种方式就是在conf目录下边的Catalina目录下的localhost里面,我们可以创建一个文件,文件名可以随意起,因为没有和配置后边的虚拟目录,那么怎么访问呢?其实这个时候文件的名称就是虚拟目录了,重启服务器后就可以访问了)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
                       (这种方式是最推荐的一种部署方式,这种方式还有一种好处,他是一种热部署的方式,比如说你不想要了,比如说你要卸载它,你也不用去改里面的内容了,我们一般的情况下,重命名在后面加下划线bak变成临时文件,改了名就读取不到这个文件了,而改sever里面的服务器必须重新启动)
在这里插入图片描述

相关推荐
©️2020 CSDN 皮肤主题: 撸撸猫 设计师:马嘣嘣 返回首页