Tomcat 基本安装及配置总结(多平台)

534 阅读3分钟

前言

本文将介绍Tomcat的基本安装及配置,并给出不同平台(WindowsLinuxMacOS)下的安装方式。同时,本文所使用的Tomcat版本文件可见文末的网盘链接或者通过官网链接自行选择下载。除此之外,在最后还会简单介绍如何进行Tomcat的端口配置以及配置https

Windows

windows上我安装的是apache-tomcat-8.5.69-windows-x64,并且采用压缩包安装方式(压缩包见文末资源链接),首先将压缩包解压到指定文件夹(这里位置可以自己选择其它位置,一般不建议系统盘,可能会出现权限问题,由于我使用的虚拟机环境测试,所以也就随意了):

image-20210717184015222

在运行Tomcat之前,需要确保本地已经安装Java环境,并已配置好JAVA_HOME环境变量,关于JDK的配置可以参考这篇文章:JDK 安装及配置总结(多平台),安装完毕后即可点击bin目录下的startup.bat进行运行: image-20210717185213954

双击后可以看到一个一闪而过的黑窗口,然后我们就可以在本机通过浏览器访问测试,在此之前,先看一下ip地址:

image-20210717190547383

然后在浏览器访问测试(Tomcat默认启动端口为8080):

image-20210717190641890

Linux

Linux上我安装的是apache-tomcat-8.5.69,并且采用压缩包安装方式(压缩包见文末资源链接),首先将压缩包解压到指定文件夹:

image-20210717191556783

同样需要确保已经配置好JAVA环境(可以参考JDK 安装及配置总结(多平台)):

image-20210717201816166

然后执行bin目录下的startup.sh文件:

image-20210717202145397

然后执行以下命令开放8080端口:

systemctl start firewalld
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

然后查看本机ip

image-20210711164014098

然后本机在浏览器测试:

image-20210717202315603

MacOS

MacOS下和linux安装的是同一个apache-tomcat-8.5.69,整体步骤也类似,首先进行解压:

image-20210717204326418

同样需要确保已经配置好JAVA环境(可以参考JDK 安装及配置总结(多平台)):

image-20210717205750937

然后执行bin目录下的startup.sh文件:

image-20210717205853430

然后查看本机ip

image-20210717205934909

然后在本机使用浏览器进行连接测试:

image-20210717210019471

端口配置

Tomcat的默认启动端口为8080,可以在Tomcat安装目录下的conf/server.xml进行修改:

image-20210718152502219

然后本地进行测试:

image-20210718152601808

想要同时运行在多个端口,只需要配置多个Connector即可:

image-20210718152923149

然后进行测试:

image-20210718153013613

此外还可以配置多个应用对应多个端口,首先复制一份Tomcat安装路径下的webapps文件夹,并修改其中ROOT/index.jsp的标题:

image-20210718154254470

然后修改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 &quot;%r&quot; %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 &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>

然后在本地进行测试:

image-20210718155244549

配置HTTPS

在这一部分将介绍如何使用keytool生成一个免费的测试证书,首先执行以下命令(保证配置好了JAVA环境):

Windows:
"%JAVA_HOME%\bin\keytool" -genkey -alias tomcat -keyalg RSA

Unix:
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA

之后会提示输入密钥口令,这里需要自己牢记,之后会用到,我这里使用123456,之后根据提示输入信息即可,也可一路回车使用默认值,一切完毕后即可在指定目录找到生成的文件:

image-20210718155906707

image-20210718155930067

然后在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"/>

然后在本地进行连接测试:

image-20210718160630623

资源链接

链接:pan.baidu.com/s/1gZ9UireI… 提取码:9vrr

windows官网链接:mirror-hk.koddos.net/apache/tomc…

linux & mac官网链接:mirror-hk.koddos.net/apache/tomc…