在电脑上使用tomcat部署项目时的常见问题

在电脑上使用tomcat部署项目时的常见问题

一、正常的项目部署
1、部署解包的webapp目录
将Web项目部署到Tomcat中的方法之一,是部署没有封装到WAR文件中的Web项目。要使用这一方法部署未打包的webapp目录,只要把我们的项目(编译好的发布项目,非开发项目)放到Tomcat的webapps目录下就可以了。
2、打包的war包项目
这种情况只需要将打包好的war包放置在tomcat对应的webapp目录下,启动tomcat即可。
3、Manager Web方式
Manager Web源应用程序可以让我们通过Web管理自己的Web项目。当然,如果任何人都能管理其他人的项目,事情就变得有点棘手了,更别提安全防护了。所以,在我们想通过Manager Web管理自己的项目时,需要进行权限设置。
在电脑上使用tomcat部署项目时的常见问题_第1张图片
这个时候,我们点击图中圈中的部分,会提示我们输入用户名和密码。所以我们需要在conf/tomcat- users.xml文件里添加角色。tomcat- users.xml默认没有添加任何角色。因为我们要通过Manager Web管理我们的项目,所以我们在里面添加manager-gui角色。如下(圈中的部分就是我们添加的角色,username随便填,password随便填,roles填上面的manager-gui):
在电脑上使用tomcat部署项目时的常见问题_第2张图片
配置好这个,重启服务器,就可以进入管理界面了。

进入Server Status页面可以查看服务器的状态,看到Tomcat的相关信息,包括Tomcat版本,JVM版本,JVM提供商等,如下图:
在电脑上使用tomcat部署项目时的常见问题_第3张图片
进入Manager App页面就可以管理我们的项目了。
Applications下显示了webapps目录下的项目目录:ROOT目录,doc目录,manager目录,这些都是Tomcat自带的。这个时候还没有我们自己的项目。现在我们开始部署自己的项目。在Deploy下,我们看到有两种方式:1.Deploy directory or WAR file located on server;2.WAR file to deploy。

首先演示通过WAR file to deploy的方式。

myweb.war是我们打包好的项目文件,点击"选择文件"可以在我们的主机上选择我们的项目文件。这个文件可以放在任何位置,如果放在webapps下,那么启动Tomcat的时候,Tomcat就直接解压了。如果放在其它位置,那么启动Tomcat的时候,Tomcat会把myweb.war文件复制到webapps目录下,再进行解压。选择好文件,点击Deploy发布就行了。这个时候,就可以在浏览器通过访问了。
二、同一台电脑,使用多个tomcat启动多个项目。
在我们正常的开发过程中,我们通常会遇到各种场景,例如公司有多个系统,现在需要部署在同一台电脑中,但是多个tomcat同时启动会出现闪退的情况,以下就是解决这类问题的办法。
首先,我们找到这几个tomcat的位置,然后进系统环境变量中,给这几个tomcat配置CATALINA_BASE和CATALIN_HOME 变量,如图:
在电脑上使用tomcat部署项目时的常见问题_第4张图片
这里需要注意的是,变量名称用123等数字做后缀,配置的值使用该tomcat的地址。
至于为什么要新建这两个变量,原因是系统没有单独配置这两变量的时候,tomcat启动的时候都会默认去读取这两个变量里面的值来配置启动的tomcat路径,同时启动多个tomcat而路径又是相同的时候,有一个就会闪退,导致启动失败;
这可以在 tomcat-2 >> bin >> catalina.bat 文件和 tomcat-2 >> bin >> startup.bat文件找到,因为tomcat启动主要是读取这两个文件;
接下来:
修改 tomcat-2 >> bin >> catalina.bat 文件中的所有 CATALINA_BASE 为 CATALINA_BASE 2;
修改 tomcat-2 >> bin >> catalina.bat 文件中的所有 CATALINA_HOME 为CATALINA_HOME2 ;
修改 tomcat-2 >> bin >> startup.bat 文件中的所有 CATALINA_HOME 为 CATALINA_HOME2;

(使用全局查找的方式替换)

最后,修改 tomcat-2 >> conf >> server.xml 中端口号;有三处修改。
在电脑上使用tomcat部署项目时的常见问题_第5张图片
完成以上操作,便可正常启动数个tomcat。

你可能感兴趣的:(个人领悟,git,java,java-ee)