Apache Tomcat是一个开放源代码的Web容器,它允许你部署Java Servlet的 ,JSP和Web套接字跑搭载的Java代码的Web服务器。 它也可以被标识为跨平台servlet容器或web容器。
简单地说,Tomcat是一个许多工业利益相关者之间非常流行,由于在市场上的其他Web容器许多优点。 您可以从Java项目创建Web存档,并将其部署在Tomcat容器中以托管由Java编码的HTTP Web服务器。 由于以下优势,工业选择apache tomcat超过其他容器。
- 重量轻。
- 广泛使用。
- 比其他容器快得多。
- 易于配置。
- 非常灵活。
通常情况下,Apache Tomcat是一个用户友好的产品,使工程师空间用最少的配置更改部署他们的战争文物( 网页存档 )。
这篇文章针对的观众已经使用tomcat,知道如何启动和使用apache tomcat引擎。
在Apache Tomcat上, 战争应该放在对webapps
该容器默认部署他们的目录。 简单地说,webapps目录充当Tomcat来部署它作为web服务器的Java代码的主容器。
在我们需要从单个tomcat容器托管多个Web服务器的情况下,您可以使用此帖作为指南来完成它。 我将介绍如何从本文中的一个tomcat中部署多个Web应用程序或两个Web服务器。
前提条件 :Java的应安装在服务器中。 最好1.7.x或以上。 在本教程中我的Java 1.7安装,因为我用的是tomcat版本8.0.37。
您可以使用包管理器,例如Yum或易于安装Java,如下所示:
# yum install java [On CentOS based Systems] # apt-get install default-jre [On Debian based Systems]
第1步:安装Apache Tomcat服务器
1.首先创建一个单独tomcat
用root帐户的用户。
# useradd tomcat # passwd tomcat
现在登录为tomcat的用户,并从官方网站下载最新的Apache Tomcat软件包: https://tomcat.apache.org/ ,或者也可以使用下面的wget命令直接在终端上下载。
在这种情况下,我下载的Apache Tomcat,8.5.5,这是现在公布的最新的稳定版本之一。
$ wget http://redrockdigimark.com/apachemirror/tomcat/tomcat-8/v8.5.5/bin/apache-tomcat-8.5.5.tar.gz
2.一旦文件被下载,解压缩使用内容tar命令 ,并查看如图所示的目录结构:
$ tar -xvf apache-tomcat-8.5.5.tar.gz $ cd apache-tomcat-8.5.5/ $ ls -l
total 112 drwxr-x---. 2 tomcat tomcat 4096 Sep 29 11:26 bin drwx------. 2 tomcat tomcat 4096 Sep 1 01:23 conf drwxr-x---. 2 tomcat tomcat 4096 Sep 29 11:26 lib -rw-r-----. 1 tomcat tomcat 57092 Sep 1 01:23 LICENSE drwxr-x---. 2 tomcat tomcat 4096 Sep 1 01:21 logs -rw-r-----. 1 tomcat tomcat 1723 Sep 1 01:23 NOTICE -rw-r-----. 1 tomcat tomcat 7063 Sep 1 01:23 RELEASE-NOTES -rw-r-----. 1 tomcat tomcat 15946 Sep 1 01:23 RUNNING.txt drwxr-x---. 2 tomcat tomcat 4096 Sep 29 11:26 temp drwxr-x---. 7 tomcat tomcat 4096 Sep 1 01:22 webapps drwxr-x---. 2 tomcat tomcat 4096 Sep 1 01:21 work
第2步:配置Apache Tomcat服务器
3.我们所追求的是躺在conf目录中的配置更改,被用来放置所有的配置文件,有助于Tomcat的启动。
conf目录下的内容看起来像下面。
$ cd conf/ $ ls -l
total 224 -rw-------. 1 tomcat tomcat 12502 Sep 1 01:23 catalina.policy -rw-------. 1 tomcat tomcat 7203 Sep 1 01:23 catalina.properties -rw-------. 1 tomcat tomcat 1338 Sep 1 01:23 context.xml -rw-------. 1 tomcat tomcat 1149 Sep 1 01:23 jaspic-providers.xml -rw-------. 1 tomcat tomcat 2358 Sep 1 01:23 jaspic-providers.xsd -rw-------. 1 tomcat tomcat 3622 Sep 1 01:23 logging.properties -rw-------. 1 tomcat tomcat 7283 Sep 1 01:23 server.xml -rw-------. 1 tomcat tomcat 2164 Sep 1 01:23 tomcat-users.xml -rw-------. 1 tomcat tomcat 2633 Sep 1 01:23 tomcat-users.xsd -rw-------. 1 tomcat tomcat 168133 Sep 1 01:23 web.xml
在此情况下,什么是对我来说重要的是server.xml
文件。 所以我不打算深入解释其他文件或目录。
server.xml的是配置文件是Tomcat告诉哪个端口来启动它,目录中的内容来部署它和许多主要的和基本的配置。
它基本上看起来像下面打开文件后。
$ vim server.xml
Apache Tomcat Server.xml配置
第3步:在Apache Tomcat中部署Web应用程序
5.现在我们将部署Apache Tomcat上一个新的Web应用程序,先找到该服务标签是封闭的地方</service>
和第一个封闭的服务标签后面插入以下行。
<Service name="webapps2"> <Connector port="7070" maxHttpHeaderSize="7192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="7443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> <Connector port="7072" enableLookups="false" redirectPort="7043" protocol="AJP/1.3" /> <Engine name="webapps2" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <Host name="localhost" appBase="webapps2" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> </Engine> </Service>
在Tomcat中部署Web应用程序
正如你看到的,我已经因为默认的Tomcat与8080端口开始改变连接器端口7070的新插入的条目。 设置此功能后完全会有端口8080和7070下运行两个Web服务器。
6.要保存所做的更改后server.xml
,中创建一个名为apache的目录webapps2
apache的主内。
$ cd /home/tomcat/apache-tomcat-8.5.5/ $ mkdir webapps2
如果你观察到server.xml
我提供了新的条目,你应该看到,服务名称,应用基础和引擎被命名为webapps2。 这就是我创建了一个名为webapps2目录的原因。 您可以根据需要创建一个,但确保您根据需要对条目进行更改。
7.要确保第二web服务器运行起来,我复制了webapps目录来webapps2目录的内容。
$ cp -r webapps/* webapps2/
8.现在令人兴奋的部分。 我们要启动服务器,看看它是否工作。 转到bin
目录,执行startup.sh
脚本。 在您可以查看日志catalina.out
文件驻留在日志目录中。
$ cd bin/ $ ./startup.sh
Using CATALINA_BASE: /home/tomcat/apache-tomcat-8.5.5 Using CATALINA_HOME: /home/tomcat/apache-tomcat-8.5.5 Using CATALINA_TMPDIR: /home/tomcat/apache-tomcat-8.5.5/temp Using JRE_HOME: /usr Using CLASSPATH: /home/tomcat/apache-tomcat-8.5.5/bin/bootstrap.jar:/home/tomcat/apache-tomcat-8.5.5/bin/tomcat-juli.jar Tomcat started.
9.如果你是指日志,你将能够看到两个webapps
和webapps2
部署和应用程序启动时没有任何问题。
$ cd logs/ $ tail -25f catalina.out
29-Sep-2016 12:13:51.210 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps/examples 29-Sep-2016 12:13:51.661 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps/examples has finished in 452 ms 29-Sep-2016 12:13:51.664 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps/docs 29-Sep-2016 12:13:51.703 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps/docs has finished in 39 ms 29-Sep-2016 12:13:51.704 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps/host-manager 29-Sep-2016 12:13:51.744 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps/host-manager has finished in 39 ms 29-Sep-2016 12:13:51.748 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-8080] 29-Sep-2016 12:13:51.767 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [ajp-nio-8009] 29-Sep-2016 12:13:51.768 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service webapps2 29-Sep-2016 12:13:51.768 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.5 29-Sep-2016 12:13:51.777 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/manager 29-Sep-2016 12:13:51.879 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/manager has finished in 102 ms 29-Sep-2016 12:13:51.879 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/ROOT 29-Sep-2016 12:13:51.915 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/ROOT has finished in 35 ms 29-Sep-2016 12:13:51.927 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/examples 29-Sep-2016 12:13:52.323 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log ContextListener: contextInitialized() 29-Sep-2016 12:13:52.337 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log SessionListener: contextInitialized() 29-Sep-2016 12:13:52.341 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/examples has finished in 414 ms 29-Sep-2016 12:13:52.341 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/docs 29-Sep-2016 12:13:52.371 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/docs has finished in 29 ms 29-Sep-2016 12:13:52.371 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/host-manager 29-Sep-2016 12:13:52.417 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/host-manager has finished in 46 ms ...
10.在这种情况下,我使用的服务器的IP是172.16.1.39,你可以看到我可以在一个Tomcat容器内启动两个Web服务器了。
http://172.16.1.39:8080 [1st Web App] http://172.16.1.39:7070 [2nd Web App]
希望你都觉得这篇文章有用和愉快。 保持与youcl联系,欢迎到我出去对本文有任何疑问。