前言
本文将介绍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"/>
然后在本地进行连接测试:
资源链接
链接:pan.baidu.com/s/1gZ9UireI… 提取码:9vrr
windows官网链接:mirror-hk.koddos.net/apache/tomc…
linux & mac官网链接:mirror-hk.koddos.net/apache/tomc…