本文所有的操作基于root用户
Java环境配置
由于tomcat需要配置java环境才可以运行起来,故需要先安装java环境,可参照https://blog.youkuaiyun.com/lianjie_c/article/details/102680911进行安装java环境
Tomcat
1 安装及使用说明
这里使用的是apache-tomcat-8.5.23.tar.gz 百度网盘下载
- 将apache-tomcat-8.5.23.tar.gz拷贝到centos的/tmp的目录下
- 使用以下命令进行解压
cd /tmp
tar -xvf apache-tomcat-8.5.23.tar.gz
- 将apache-tomcat-8.5.23移动到用户主目录
mv apache-tomcat-8.5.23 ~
- 配置JAVA_HOME
cd
cd apache-tomcat-8.5.23/bin
进入bin
目录后,对catalina.sh
进行编辑,使用以下命令进入编辑:
vim catalina.sh
catalina.sh
的部分内容如下:
# UMASK (Optional) Override Tomcat's default UMASK of 0027
#
# USE_NOHUP (Optional) If set to the string true the start command will
# use nohup so that the Tomcat process will ignore any hangup
# signals. Default is "false" unless running on HP-UX in which
# case the default is "true"
# -----------------------------------------------------------------------------
# OS specific support. $var _must_ be set to either true or false.
JAVA_HOME=/opt/jdk1.8.0_20
cygwin=false
darwin=false
os400=false
hpux=false
case "`uname`" in
CYGWIN*) cygwin=true;;
以上主要添加了JAVA_HOME=/opt/jdk1.8.0_20
来指定运行的JAVA
添加完成后按Esc
键,并输入:wq
进行保存并退出操作
- 启动tomcat
使用以下命令进行启动tomcat
cd
cd apache-tomcat-8.5.23/bin/
./startup.sh
输入./startup.sh
命令后,会出现以下提示:
[root@oem-3y8e7n2o9 bin]# ./startup.sh
Using CATALINA_BASE: /root/apache-tomcat-8.5.23
Using CATALINA_HOME: /root/apache-tomcat-8.5.23
Using CATALINA_TMPDIR: /root/apache-tomcat-8.5.23/temp
Using JRE_HOME: /opt/jdk1.8.0_20
Using CLASSPATH: /root/apache-tomcat-8.5.23/bin/bootstrap.jar:/root/apache-tomcat-8.5.23/bin/tomcat-juli.jar
Tomcat started.
为了确定tomcat是否启动报错,需要输入以下命令来查看启动日志:
tail -100f ../logs/catalina.out
使用上述命令,可查看tomcat启动过程中输出的日志,如果没有报错,则一般是没有问题的。当tomcat启动完成后,可以看到最后输出了启动用时如下:
22-Oct-2019 14:16:46.821 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/root/apache-tomcat-8.5.23/webapps/manager]
22-Oct-2019 14:16:46.865 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/root/apache-tomcat-8.5.23/webapps/manager] has finished in [44] ms
22-Oct-2019 14:16:46.893 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
22-Oct-2019 14:16:46.929 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
22-Oct-2019 14:16:46.945 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 3552 ms
以上则tomcat启动成功,可以通过Ctrl+V
来退出查看日志
- 验证
为了保证tomcat确实启动,可以在浏览器内输入地址http://localhost:8080
(tomcat默认启动端口为8080)来查看tomcat的页面。
也可以通过以下命令来查看:
curl http://localhost:8080
使用以上命令,如果启动正常,则会返回html页面的代码,这个是tomcat的主页面
- 关闭tomcat
1)可查看tomcat的进行,用kill
来杀死进程(不建议,一般在无法正常关闭的情况下再使用这种方法)
[root@oem-3y8e7n2o9 bin]# ps -ef|grep tomcat
root 19667 1 2 14:16 pts/0 00:00:13 /opt/jdk1.8.0_20/bin/java -Djava.util.logging.config.file=/root/apache-tomcat-8.5.23/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /root/apache-tomcat-8.5.23/bin/bootstrap.jar:/root/apache-tomcat-8.5.23/bin/tomcat-juli.jar -Dcatalina.base=/root/apache-tomcat-8.5.23 -Dcatalina.home=/root/apache-tomcat-8.5.23 -Djava.io.tmpdir=/root/apache-tomcat-8.5.23/temp org.apache.catalina.startup.Bootstrap start
root 20211 7913 0 14:24 pts/0 00:00:00 grep --color=auto tomcat
[root@oem-3y8e7n2o9 bin]# kill -9 19667
注:19667
为tomcat的进程号
2)使用tomcat自带的关闭
cd
cd apache-tomcat-8.5.23/bin
./shutdown.sh
使用ps -ef|grep tomcat
查看tomcat进程是否还存在
2 配置说明
tomcat的配置文件路径是在tomcat的主目录下的conf/server.xml
使用以下命令对server.xml进行编辑
cd
cd apache-tomcat-8.5.23/conf
vim server.xml
对server.xml
部分内容进行说明,以下内容是有将默认的一些注释删除掉剩下的
<?xml version="1.0" encoding="UTF-8"?>
<!--这里8005为tomcat的关闭端口,如果关闭端口被占用,那这里需要进行修改-->
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!-- Security listener. Documentation at /docs/config/listeners.html
<Listener className="org.apache.catalina.security.SecurityListener" />
-->
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<!-- Global JNDI resources
Documentation at /docs/jndi-resources-howto.html
-->
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<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>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" Note: A "Service" is not itself a "Container",
so you may not define subcomponents such as "Valves" at this level.
Documentation at /docs/config/service.html
-->
<Service name="Catalina">
<!--这里8080是tomcat的http端口,如果8080端口被占用,则修改这里即可,修改完成后浏览器访问的地址的端口也需要做相应的修改-->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<!--这里是tomcat使用ajp启动的端口8009,一般是没有用的,可以直接注释掉-->
<!--<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />-->
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
3 安装成服务自启动
- 创建
/etc/init.d/tomcat
文件
使用以下命令进行创建
vim /etc/init.d/tomcat
/etc/init.d/tomcat
内容如下:
#!/bin/bash
# description: Tomcat8 Start Stop Restart
# processname: tomcat8
# chkconfig: 234 20 80
CATALINA_HOME=/root/apache-tomcat-8.5.23
case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0
编辑完成后,按Esc
键,并输入:wq
进行保存并退出的操作
- 修改文件为可执行
使用以下命令:
cd /etc/init.d
chmod a+x tomcat
- 注册成服务
cd /etc/init.d
chkconfig --add tomcat
- 添加开机启动
cd /etc/init.d
chkconfig tomcat on
- 使用服务命令操作
1)启动systemctl start tomcat
2)停止systemctl stop tomcat
3)重启systemctl restart tomcat
4)查看状态systemctl status tomcat