前言
本文将介绍Tomcat
的基本安装及配置,并给出不同平台(Windows
、Linux
、MacOS
)下的安装方式。同时,本文所使用的Tomcat
版本文件可见文末的网盘链接或者通过官网链接自行选择下载。除此之外,在最后还会简单介绍如何进行Tomcat
的端口配置以及配置https
。
Windows
在windows
上我安装的是apache-tomcat-8.5.69-windows-x64
,并且采用压缩包安装方式(压缩包见文末资源链接),首先将压缩包解压到指定文件夹(这里位置可以自己选择其它位置,一般不建议系统盘,可能会出现权限问题,由于我使用的虚拟机环境测试,所以也就随意了):
在运行Tomcat
之前,需要确保本地已经安装Java
环境,并已配置好JAVA_HOME
环境变量,关于JDK
的配置可以参考这篇文章:JDK 安装及配置总结(多平台),安装完毕后即可点击bin
目录下的startup.bat
进行运行:
双击后可以看到一个一闪而过的黑窗口,然后我们就可以在本机通过浏览器访问测试,在此之前,先看一下ip
地址:
然后在浏览器访问测试(Tomcat
默认启动端口为8080
):
Linux
在Linux
上我安装的是apache-tomcat-8.5.69
,并且采用压缩包安装方式(压缩包见文末资源链接),首先将压缩包解压到指定文件夹:
同样需要确保已经配置好JAVA
环境(可以参考JDK 安装及配置总结(多平台)):
然后执行bin
目录下的startup.sh
文件:
然后执行以下命令开放8080
端口:
systemctl start firewalld
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
然后查看本机ip
:
然后本机在浏览器测试:
MacOS
在MacOS
下和linux
安装的是同一个apache-tomcat-8.5.69
,整体步骤也类似,首先进行解压:
同样需要确保已经配置好JAVA
环境(可以参考JDK 安装及配置总结(多平台)):
然后执行bin
目录下的startup.sh
文件:
然后查看本机ip
:
然后在本机使用浏览器进行连接测试:
端口配置
Tomcat
的默认启动端口为8080
,可以在Tomcat
安装目录下的conf/server.xml
进行修改:
然后本地进行测试:
想要同时运行在多个端口,只需要配置多个Connector
即可:
然后进行测试:
此外还可以配置多个应用对应多个端口,首先复制一份Tomcat
安装路径下的webapps
文件夹,并修改其中ROOT/index.jsp
的标题:
然后修改config/server.xml
中的配置:
<!-- 复制一份Service标签的内容 配置 8001、8002 端口对应webapps,
8003、8004端口对应webapps1
-->
<Service name="Catalina">
<Connector port="8001" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8002" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<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>
<Service name="Catalina">
<Connector port="8003" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8004" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps1"
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>
然后在本地进行测试:
配置HTTPS
在这一部分将介绍如何使用keytool
生成一个免费的测试证书,首先执行以下命令(保证配置好了JAVA
环境):
Windows:
"%JAVA_HOME%\bin\keytool" -genkey -alias tomcat -keyalg RSA
Unix:
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
之后会提示输入密钥口令,这里需要自己牢记,之后会用到,我这里使用123456
,之后根据提示输入信息即可,也可一路回车使用默认值,一切完毕后即可在指定目录找到生成的文件:
然后在Tomcat
安装目录下的conf/server.xml
的某个Service
标签中加入以下配置:
<!-- keystoreFile 的值对应上述生成 .keystore 文件的位置
keystorePass 对应上述生成 .keystore 文件时设置的密码
-->
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="C:/Users/butterfly/.keystore" keystorePass="123456"/>
然后在本地进行连接测试:
资源链接
链接:https://pan.baidu.com/s/1gZ9UireIPMR54BVbZ5_sTA
提取码:9vrr
windows
官网链接:https://mirror-hk.koddos.net/apache/tomcat/tomcat-8/v8.5.69/bin/apache-tomcat-8.5.69-windows-x64.zip
linux & mac
官网链接:https://mirror-hk.koddos.net/apache/tomcat/tomcat-8/v8.5.69/bin/apache-tomcat-8.5.69.tar.gz