在docker中怎么修改tomcat配置文件

在docker中怎么修改tomcat配置文件,第1张

1、登录到阿里云开发者管理后台,点击左侧的镜像加速,右侧会显示镜像加速的地址。

2、在etc目录下创建一个docker目录,命令为sudo mkdir -p /etc/docker。

3、 在docker目录下添加一个daemon.json文件。

4、重新加载json文件,命令sudo systemctl daemon-reload。

5、重新启动docker,命令sudo systemctl restart docker。

一、环境准备

我使用的环境是:Window 10、Tomcat 8.0.36、maven3、tomcat7-maven-plugin 2.2版本。

二、设置环境变量

安装Tomcat8.0.36和maven之后设置环境变量,Tomcat设置环境变量时,key为必须为CATALINA_HOME。

1.设置maven环境变量

MAVEN =D:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.1.3\plugins\maven\lib\maven3\bin

(我直接引用了InteljiIDEA中的maven)

2、设置TOMACAT环境变量

CATALINA_HOME=E:\tomcat\apache-tomcat-8.0.36

3、将他们添加到PATH中

PATH=%MAVEN%%CATALINA_HOME%\bin

三、在Tomcat中配置用户权限

在tomcat的配置文件tomcat_user.xml(%CATALINA_HOME%\conf\tomcat.user.xml)中的<tomcat-users >标签中添加

<role rolename="manager-gui"/><role rolename="manager-script"/><user username="username" password="password" roles="manager-gui,manager-script"/>

四、在Maven的settings.xml配置Server

在Maven的配置文件settings.xml(%MAVEN%\conf\settings.xml)中的<servers > 中加入

<server>

<id>tomcat8</id>

<username>username</username>

<password>password</password>

</server>

这里的username 、password就填我们在tomcat中配置的那个用户名,和密码

这里的设置的 id为 tomcat8 我们将在项目的 pom.xml中填写。

五、在项目的pom.xml中配置tomcat7-maven-plugin插件

在<build> 中引入插件:

<build>

<pluginManagement>

<plugins>

...<!-- 配置tomcat 插件 -->

<groupId>org.apache.tomcat.maven</groupId>

<artifactId>tomcat7-maven-plugin</artifactId>

<version>2.2</version>

<configuration>

<url>http://localhost:8080/manager/text</url>

<server>tomcat8</server>

<path>/test</path>

<update>true</update>

</configuration>

</plugin>

</plugins>

</pluginManagement>

....

注意

1、这里的 <server>中填写的就是为们在%MAVEN%\conf\settings.xml配置中的那个id

即 tomcat8.

2、由于我用的tomcat8这里的<url>必须配置成 xxx/manager/text否则会部署不成功

3、由于部署时会下载一些东西最还是在 pom.xml 的<project >标签下加入以下代码:

<repositories>

<repository>

<id>people.apache.snapshots</id>

<url>

http://repository.apache.org/content/groups/snapshots-group/</url>

<releases>

<enabled>false</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</repository>

</repositories>

<pluginRepositories>

<pluginRepository>

<id>apache.snapshots</id>

<name>Apache Snapshots</name>

<url>http://repository.apache.org/content/groups/snapshots-group/</url>

<releases>

<enabled>false</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</pluginRepository>

</pluginRepositories>

六、deploy

1、开启tomcat

2、在pom.xml所在的目录执行 mvn tomcat7:deploy 命令部署项目。

七、遇到的问题

1、在Window系统下执行在执行 mvn tomcat7:undeploy时,会有残留在tomcat目录下

解决方法:在tomcat的配置文件context.xml中 的<Context >标签中添加属性:antiJARLocking=”true” antiResourceLocking=”true”

<Context antiJARLocking="true" antiResourceLocking="true">

您好,提问者:

这种情况为何不考虑tomcat整合apache呢

1、找到你的tomcat然后在conf文件中找到server.xml打开;

<Server port="8005" shutdown="SHUTDOWN">

  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

  <Listener className="org.apache.catalina.core.JasperListener" />

  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />

  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

 

  <GlobalNamingResources>

  <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase"description="User database that can be updated and saved"factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" />

</GlobalNamingResources>

 

<Service name="Catalina">

  <Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000"redirectPort="8443" />

<!--<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS" />

 -->

  <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

  <Engine name="Catalina" defaultHost="localhost">

<!--  <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

  -->

<!-- <Valve className="org.apache.catalina.valves.RequestDumperValve"/>

  -->

  <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false">

<!--<Valve className="org.apache.catalina.authenticator.SingleSignOn" />

  -->

<!-- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  

  prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>

 -->

</Host>

</Engine>

</Service>

</Server>

在其中我主要是对俩个地方进行修改:

第一个将

<Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000"redirectPort="8443" />

修改为:

<Connector port="80" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000"redirectPort="8443" />

第二就是在中添加<host>(一个host代表一个域名或访问地址)

<Engine name="Catalina" defaultHost="localhost">

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"   />

</Engine>

修改为

<Engine name="Catalina" defaultHost=www.abc.com>

<Host name="www.coe.com" appBase="webapps" unpackWARs="true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false" >

<Context path="" docbase="D:\Tomcat 6.0\webapps\ROOT" crosscontext="true" />

</Host>

<Host name="www.abc.com" appBase="ccc" unpackWARs="true" autoDeploy="true"

 xmlValidation="false" xmlNamespaceAware="false" >

<Context path="" docbase="D:\Tomcat 6.0\ccc\ROOT" crosscontext="true" />

</Host>

<Host name=www.cba.com appBase="dddd" unpackWARs="true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false" />

<Context path="" docbase="D:\Tomcat 6.0\dddd\ROOT" crosscontext="true" />

</Host>

</Engine>

这里提供参考:http://blog.sina.com.cn/s/blog_6341fc0f0100lzaj.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12083032.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存