Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。
Tomcat 是用Java开发的工具,所以想要运行它,需要Java环境
个人博客:www.lcgui.cn
Windows版本(附加使用教程):http://t.csdn.cn/nDBOj
我使用的是JDK 8,和Tomcat 8.5
下面命令使用root权限
如果下载太慢的话我把资源分享出来:
CSDN(免费):https://download.csdn.net/download/m0_63684495/87395805
百度网盘:https://pan.baidu.com/s/1TgBRNzUOYGr5j1LYz7S0Pw?pwd=0000
将JDK和Tomcat都安装部署到:/export/server
内(当然你也可以部署到别的地方)
#创建目录
mkdir -p /export/server
#进入目录
cd /export/server
进入到 /export/server
并将下载好的JDK拖进去上传
tar -zxvf jdk-8u361-linux-x64.tar.gz
ln -s /export/server/jdk1.8.0_361 /export/server/jdk
编辑/etc/profile
文件
# 编辑/etc/profile文件
vim /etc/profile
#在文件最后(PgDn键翻页)插入以下内容
export JAVA_HOME=/export/server/jdk
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
# 删除系统自带的java程序(没自带可忽略此命令)
rm -f /usr/bin/java
# 软链接我们自己安装的java程序
ln -s /export/server/jdk/bin/java /usr/bin/java
java -version
javac -version
不关闭的话后面访问会被拦截,所以直接关闭
systemctl stop firewalld # 关闭防火墙
systemctl disable firewalld # 停止防火墙开机自启
仍然在/export/server
目录下进行
# 使用root用户操作
wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.85/bin/apache-tomcat-8.5.85.tar.gz
# 如果出现https相关错误,可以使用--no-check-certificate选项
wget --no-check-certificate https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.85/bin/apache-tomcat-8.5.85.tar.gz
# 使用root用户操作,否则无权限解压到/export/server内,除非修改此文件夹权限
tar -zxvf apache-tomcat-8.5.85.tar.gz
ln -s /export/server/apache-tomcat-8.5.85 /export/server/tomcat
#开启tomcat
/export/server/tomcat/bin/startup.sh
#关闭tomcat
/export/server/tomcat/bin/shutdown.sh
打开浏览器,输入:
http://centos:8080
或http://主机ip:8080
使用主机名(需配置好本地的主机名映射)或IP地址访问Tomcat的WEB页面
SSL证书是保证你的域名连接安全访问的,在没有配置的情况下会这样:
配置完SSL证书后的连接为:
同样的配置证书需要先下载SSL证书,前面的文章有些过,不知道的话可以参考下这篇文章的SSL证书下载部分:https://blog.csdn.net/m0_63684495/article/details/128748310
那么还有一个疑问,为什么之前的文章nginx已经配置过了,为什么tomcat还要配置?
因为你如果需要nginx和tomcat同时运行的话,就要设置不一样的端口,不一样的端口可以理解为一个新的程序,SSL证书起作用的范围只是在一个程序,所以要再次配置
按照你的喜好其实上传在哪里都可以,只要配置的路径没问题,我习惯性的放在程序目录下:
准备工作完成,开始配置即可
配置文件的路径为/export/server/apache-tomcat-8.5.85/conf
我是配置的8080端口和8443端口,8080跳转8443
打开配置文件目录下的server.xml
,编辑他即可
将下面的代码段插入到server.xml
中
"443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="/usr/*/conf/cloud.tencent.com.pfx" <! -- 证书保存的路径 -->
keystoreType="PKCS12"
keystorePass="证书密码" <! -- 请替换为 keystorePass.txt 密码文件中的内容。-->
clientAuth="false"
SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
要看清我插入的位置,同时插入后需要把注释部分删掉,否则重启tomcat报错
,要插入在标签之外,标签之内。
重启tomcat(先关闭再打开)
#开启tomcat
/export/server/tomcat/bin/startup.sh
#关闭tomcat
/export/server/tomcat/bin/shutdown.sh
这样8443端口的就设置好了,我们还需要设置一个8080跳转8443的设置。
配置文件的路径为/export/server/apache-tomcat-8.5.85/conf
在此配置文件路径下的web.xml
在文件末尾的标签后面插入:
<!-- Authorization setting for SSL -->
CLIENT-CERT</auth-method>
Client Cert Users-only Area</realm-name>
</login-config>
<!-- Authorization setting for SSL -->
SSL</web-resource-name>
/*</url-pattern>
</web-resource-collection>
data-constraint>
CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
重启tomcat(先关闭再打开)
#开启tomcat
/export/server/tomcat/bin/startup.sh
#关闭tomcat
/export/server/tomcat/bin/shutdown.sh
至此,Tomcat的SSL证书配置完成。
部署Java项目,tomcat需要打包成war包,在Maven项目的pom文件中直接添加配置即可:
然后点击打包即可
若打包失败,可以在pom中添加打包插件,然后再进行打包
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-war-pluginartifactId>
<version>3.3.1version>
plugin>
plugins>
pluginManagement>
build>
打包完成后,会出现在项目的target下,按目录找到即可
拿到项目包后,需要改名字,打包完成后的名字为dormitory-man-1.0-SNAPSHOT.war
,需要重命名为dormitory-man
为什么要重命名呢?
因为项目的异步请求是按照项目名请求的,如果不改名的话,会路径错误导致访问不到项目。
找到tomcat目录下的webapps,将项目上传到此目录下即可,也就是
/export/server/apache-tomcat-8.5.85/webapps
上传成功后直接访问即可(访问要带项目名):
至此,tomcat就可以正常使用工作了。