Linux安装配置tomcat

1.首先配置好jdk

查看java版本:java -verson

1.官网下载jdk

2.tar -zxvf xxxx.tar.gz   解压

3.配置环境变量

<1># vi /etc/profile

<2>在最后加入以下几行:

export JAVA_HOME=/usr/java/jdk1.5.0_16

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

<3># source /etc/profile   执行后生效

2.安装tomcat

1.下载tomcat并解压

tar -zxvf xxx.tar.gz

2.配置conf/server.xml

  1 <?xml version='1.0' encoding='utf-8'?>
  2 <!--
  3   Licensed to the Apache Software Foundation (ASF) under one or more
  4   contributor license agreements.  See the NOTICE file distributed with
  5   this work for additional information regarding copyright ownership.
  6   The ASF licenses this file to You under the Apache License, Version 2.0
  7   (the "License"); you may not use this file except in compliance with
  8   the License.  You may obtain a copy of the License at
  9 
 10       http://www.apache.org/licenses/LICENSE-2.0
 11 
 12   Unless required by applicable law or agreed to in writing, software
 13   distributed under the License is distributed on an "AS IS" BASIS,
 14   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 15   See the License for the specific language governing permissions and
 16   limitations under the License.
 17 -->
 18 <!-- Note:  A "Server" is not itself a "Container", so you may not
 19      define subcomponents such as "Valves" at this level.
 20      Documentation at /docs/config/server.html
 21      port指定Tomcat监听shutdown命令端口.终止服务器运行时,必须在Tomcat服务器所在的机器上发出
 22 shutdown命令.该属性是必须的.
 23  -->
 24 <Server port="8005" shutdown="SHUTDOWN">
 25   <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
 26   <!-- Security listener. Documentation at /docs/config/listeners.html
 27   <Listener className="org.apache.catalina.security.SecurityListener" />
 28   -->
 29   <!--APR library loader. Documentation at /docs/apr.html -->
 30   <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
 31   <!-- Prevent memory leaks due to use of particular java/javax APIs-->
 32   <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
 33   <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
 34   <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
 35 
 36   <!-- Global JNDI resources
 37        Documentation at /docs/jndi-resources-howto.html
 38   -->
 39   <GlobalNamingResources>
 40     <!-- Editable user database that can also be used by
 41          UserDatabaseRealm to authenticate users
 42     -->
 43     <Resource name="UserDatabase" auth="Container"
 44               type="org.apache.catalina.UserDatabase"
 45               description="User database that can be updated and saved"
 46               factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
 47               pathname="conf/tomcat-users.xml" />
 48   </GlobalNamingResources>
 49 
 50   <!-- A "Service" is a collection of one or more "Connectors" that share
 51        a single "Container" Note:  A "Service" is not itself a "Container",
 52        so you may not define subcomponents such as "Valves" at this level.
 53        Documentation at /docs/config/service.html
 54    -->
 55   <Service name="Catalina">
 56 
 57     <!--The connectors can use a shared executor, you can define one or more named thread pools-->
 58     <!--
 59     <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
 60         maxThreads="150" minSpareThreads="4"/>
 61     -->
 62 
 63 
 64     <!-- A "Connector" represents an endpoint by which requests are received
 65          and responses are returned. Documentation at :
 66          Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
 67          Java AJP  Connector: /docs/config/ajp.html
 68          APR (HTTP/AJP) Connector: /docs/apr.html
 69          Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
 70          通过8080端口接收HTTP请求
 71     -->
 72     <Connector port="8060" protocol="HTTP/1.1"
 73                connectionTimeout="20000"
 74                redirectPort="8443" />
 75     <!-- A "Connector" using the shared thread pool-->
 76     <!--
 77     <Connector executor="tomcatThreadPool"
 78                port="8080" protocol="HTTP/1.1"
 79                connectionTimeout="20000"
 80                redirectPort="8443" URIEncoding="UTF-8"/>
 81     -->
 82     <!-- Define a SSL/TLS HTTP/1.1 Connector on port 8443
 83          This connector uses the NIO implementation that requires the JSSE
 84          style configuration. When using the APR/native implementation, the
 85          OpenSSL style configuration is required as described in the APR/native
 86          documentation -->
 87     <!--
 88     <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
 89                maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
 90                clientAuth="false" sslProtocol="TLS" />
 91     -->
 92 
 93     <!-- Define an AJP 1.3 Connector on port 8009 
 94         JD Connector,它通过8009端口接收由其它服务器转发过来的请求,这里发现问题,注释掉好,不然每次需要重启两次
 95     -->
 96     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
 97 
 98 
 99     <!-- An Engine represents the entry point (within Catalina) that processes
100          every request.  The Engine implementation for Tomcat stand alone
101          analyzes the HTTP headers included with the request, and passes them
102          on to the appropriate Host (virtual host).
103          Documentation at /docs/config/engine.html -->
104 
105     <!-- You should set jvmRoute to support load-balancing via AJP ie :
106     <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
107     -->
108     <Engine name="Catalina" defaultHost="localhost">
109 
110       <!--For clustering, please take a look at documentation at:
111           /docs/cluster-howto.html  (simple how to)
112           /docs/config/cluster.html (reference documentation) -->
113       <!--
114       <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
115       -->
116 
117       <!-- Use the LockOutRealm to prevent attempts to guess user passwords
118            via a brute-force attack -->
119       <Realm className="org.apache.catalina.realm.LockOutRealm">
120         <!-- This Realm uses the UserDatabase configured in the global JNDI
121              resources under the key "UserDatabase".  Any edits
122              that are performed against this UserDatabase are immediately
123              available for use by the Realm.  -->
124         <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
125                resourceName="UserDatabase"/>
126       </Realm>
127 
128     <!--path:浏览器访问时的路径名,如第一个项目,浏览器访问时路径名是(我的是80端口):localhost/struts/index.jsp
129 docBase:web项目的WebRoot所在的路径,注意是WebRoot的路径,不是项目的路径。
130 debug:值为0的话,表示不打印日志
131 reloadble:设定项目有改动时,tomcat是否重新加载该项目-->
132       <Host name="localhost"  appBase="webapps"
133             unpackWARs="true" autoDeploy="true">
134             <Context path="/" docBase="此处为相对于webapps的路径" reloadable="true" /> 
135 
136         <!-- SingleSignOn valve, share authentication between web applications
137              Documentation at: /docs/config/valve.html -->
138         <!--
139         <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
140         -->
141 
142         <!-- Access log processes all example.
143              Documentation at: /docs/config/valve.html
144              Note: The pattern used is equivalent to using pattern="common" -->
145         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
146                prefix="localhost_access_log" suffix=".txt"
147                pattern="%h %l %u %t &quot;%r&quot; %s %b" />
148 
149       </Host>
150     </Engine>
151   </Service>
152 </Server>

3.启动

./bin/startup.sh

4.关闭

./bin/shutdown.sh

5.访问:

ip:端口

6.web项目打包成war

放到webapps下

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏晓晨的专栏

Jenkins 无法捕获构建脚本错误问题

编写构建脚本执行,发现脚本执行出错,不会中断构建过程,导致最后展现的构建结果是错误的。

1051
来自专栏Aloys的开发之路

Android真机安装sqlite3的方法

Android版本: 4.4.2 PS C:\Users\jiang> adb shell shell@hwH60:/ $ su - root # 此时输入s...

2759
来自专栏老安的博客

zabbix 监控percona

1513
来自专栏阿炬.NET

解决Android系统短信群发时提示”正在发送大量短信“

3505
来自专栏卡少编程之旅

使用SSR来模拟后端mock数据

34613
来自专栏无所事事者爱嘲笑

react-native Execution failed for task ':app:prepareRnReduxReactNativeUpdateUnspecifiedLibrary'报错

3029
来自专栏hbbliyong

SVN previous operation has not finished

svn提交遇到恶心的问题,可能是因为上次cleanup中断后,进入死循环了。 错误如下: ? 解决方法:清空svn的队列 1.下载sqlite3.exe   ...

2668
来自专栏黑泽君的专栏

映射重复导致的错误:Ambiguous handler methods mapped for HTTP path

  出现Ambiguous Mapping异常时,找到同一请求路径映射到两个方法的地方,修改即可。使这两个方法有区分即可。注意:要一并修改对应的jsp上的请求路...

871
来自专栏运维小白

mysql初始化后,找不到pid无法正常启动

背景: centos7.0版本,安装的是mysql5.6版本 问题: 在安装好mysql,并设置开机启动,但是在关机重启后,会发现Mysql服务无法启动 [...

3726
来自专栏pangguoming

forever让nodejs应用后台执行

nodejs一般是当成一条用户命令执行的,当用户断开客户连接,运用也就停了,很烦人。如何让nodejs应用当成服务,在后台执行呢? 最简单的办法: $ nohu...

3786

扫码关注云+社区