下载地址
https://tomcat.apache.org/download-80.cgi
检查linux是否安装tomcat并安装tomcat
rpm -qa|grep tomcat
tar -zxvf apache-tomcat-8.5.37.tar.gz
mv apache-tomcat-8.5.37 tomcat8
添加环境变量
vim /etc/profile
添加:
export CATALINA_HOME=/usr/local/tomcat8
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:${CATALINA_HOME}/bin
环境变量生效
source /etc/profile
启动
/usr/local/tomcat8/bin/startup.sh
关闭
/usr/local/tomcat8/bin/shutdown.sh
配置
/usr/local/tomcat8/conf/server.xml
此处修改端口
<Connector post="8080" protocol=**
设置开机启动
vim /usr/local/tomcat/bin/setenv.sh
添加如下
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
增加tomcat.service,在/usr/lib/systemd/system目录下增加tomcat.service
vi /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment='JAVA_HOME=/usr/local/java/jdk1.8.0_221/'
Environment='CATALINA_PID=/usr/local/tomcat/tomcat.pid'
Environment='CATALINA_HOME=/usr/local/tomcat/'
Environment='CATALINA_BASE=/usr/local/tomcat/'
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
**[unit]**配置了服务的描述,规定了在network启动之后执行。
**[service]**配置了环境变量,JAVA_HOME,服务的pid,服务的启动,停止,重启,内存参数。
**[install]**配置了使用用户。
当需要启动多个tomcat时,复制多个tomcat安装文件在/usr/local/下,如/usr/local/tomcat2,并配置多个tomcat.service 如tomcat2.service,tomcat3.service 在配置中修改对应的路径即可。
因为配置pid,在启动的时候会在tomcat根目录生成tomcat.pid文件,停止之后删除。
同时tomcat在启动时候,执行start不会启动两个tomcat,保证始终只有一个tomcat服务在运行。
多个tomcat可以配置在多个目录下,使用不同的端口,互不影响。
设置开机自启
systemctl enable tomcat.service
tomcat部署war包时,访问路径如何取消包名前缀
修改server.xml配置文件
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="C:\JavaInfo\sorl\apache-tomcat-8.0.27\myapps\em.war" reloadable="true"></Context>
</Host>
这里注意以下几点:
1.appBase为webapps,即我们解压后的文件会到这个目录下。
2.Context标签中的path为空
3.Context标签中的docBase,注意下路径不要在webapps文件夹下,这里我们新建了一个文件夹myapps,em.war,是我们项目的war包名称。
4.需要将webapps文件夹下原ROOT文件夹删除,因为我们这样做解压后的文件夹名为ROOT,如果原来已经有ROOT则不会发生解压操作。