99%的人看了它都会说这是一篇很全的tomcat服务❤️❤️[⭐建议收藏⭐]

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 99%的人看了它都会说这是一篇很全的tomcat服务❤️❤️[⭐建议收藏⭐]

🔥Tomcat java 服务器详解



关于作者


作者介绍


📢博客主页:https://rivers.blog.csdn.net/

hello,大家好!我是黄昏,我们一起来学linux 云计算。如果喜欢博客,点个赞,关注下哟,还可以订阅专栏:


📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

对linux 云计算|华为|华三|思科等数通网络技术感兴趣,可以私信博主,私信获取教程,一起交流技术。


📢未来可期 让生命像一团热烈燃烧的火,直到死亡才能使它熄灭✨


一、Tomcat 服务器详解


1.Tomcat 简介


  • tomcat 介绍


Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同开发而成


Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选.


Tomcat和Nginx,Apache(httpd),lighttpd等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Server和JSP容器,独立的Server容器是Tomcat的默认模式,.不过,Tomcat处理静态HTML的能力不如Nginx/Apache服务器.


tomcat 官方网站,目前最新版本是10 官方网址


tomcat就是传说中的中间件之一,tomcat本身是一个容器,专门用来运行java程序,java语言开发的网页.jsp就应该运行于tomcat中。而tomcat本身的运行也依赖于jdk环境。


image.png


2.tomcat 项目部署


2.1 部署实验环境


  • 实验环境说明


image.png


2.2 java 环境安装


  • 部署java 环境


# 安装jdk 1.8
[root@tomcat_server~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
# 检查安装版本
[root@tomcat_server~]# java -version
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)


2.3 Tomcat 部署


  • 下载安装包部署


# 下载安装包
[root@web_server01~]# wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.52/bin/apache-tomcat-9.0.52.tar.gz
[root@tomcat_server~]# ls
anaconda-ks.cfg  apache-tomcat-9.0.52.tar.gz
# 解压安装包
[root@tomcat_server~]# tar xf apache-tomcat-9.0.52.tar.gz -C /usr/local/
# 写一个软连接,因为解压名字太长了。
[root@tomcat_server~]# cd /usr/local/
[root@tomcat_server/usr/local]# ls
apache-tomcat-9.0.52-src  bin  etc  games  include  lib  lib64  libexec  sbin  share  src
[root@tomcat_server/usr/local]# ln -s apache-tomcat-9.0.52/ tomcat-9
[root@tomcat_server/usr/local]# 
这里个人爱好,你可以自己修改名字。也可以忽略此步骤
# 写一个欢迎界面,测试用
[root@tomcat_server~]# cat <<EOF >index.jsp
> <html>
> <head>
>         <title>test page</title>
> </head>
> <body>
>         <%
>             out.println("手把手教你玩转tom 猫!");
>         %>
> </body>
> </html>
> EOF
[root@tomcat_server~]# 
# 创建站点存放目录
[root@tomcat_server/usr/local]# mkdir /usr/local/tomcat-9/webapps/rivers
# 将测试欢迎界面 移动web 目录中
[root@tomcat_server~]# mv index.jsp /usr/local/tomcat-9/webapps/rivers/
[root@tomcat_server~]# ls /usr/local/tomcat-9/webapps/rivers/
index.jsp
[root@tomcat_server~]# 
# 启动tomcat 
[root@web_server01~]# /usr/local/tomcat-9/bin/catalina.sh start
[root@web_server01/usr/local]# ps -ef|grep tomcat
root       7312      1  1 15:53 pts/0    00:00:03 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat-9/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat-9/bin/bootstrap.jar:/usr/local/tomcat-9/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat-9 -Dcatalina.home=/usr/local/tomcat-9 -Djava.io.tmpdir=/usr/local/tomcat-9/temp org.apache.catalina.startup.Bootstrap start
root       7341   7245  0 15:57 pts/0    00:00:00 grep --color=auto tomcat


  • 测试


image.png


3.Tomcat 目录介绍


  • 目录结构


image.png


bin             #用以启动,关闭Tomcat或其他脚本功能的脚本(.bat和.sh)
conf            #用以配置Tomcat的XML及DTD文件
lib             #存放web应用能访问的JAR包
logs            #Catalina和其他web应用程序的日志文件
temp            #临时文件
webapps         #Web应用程序根目录
work            #用以产生有JSP编译出的Servlet的.java和.class文件


  • webapps 站点目录


[root@web_server01/usr/local/tomcat-9]# cd webapps/
[root@web_server01/usr/local/tomcat-9/webapps]# ls
docs  examples  host-manager  manager  rivers  ROOT
[root@web_server01/usr/local/tomcat-9/webapps]# tree -L 1
.
docs           #tomcat帮助文档
examples       #web应用
host-manager   #管理 
manager        #管理
rivers         #自己床架的web目录
ROOT           #默认根目录


4.Tomcat 配置文件


  • 常用的配置文件


[root@web_server01~]# tree /usr/local/tomcat-9/conf/
/usr/local/tomcat-9/conf/
├── Catalina
│   └── localhost
├── catalina.policy
├── catalina.properties
├── context.xml
├── jaspic-providers.xml
├── jaspic-providers.xsd
├── logging.properties
├── server.xml       #主配置文件
├── tomcat-users.xml #管理用户配置文件
├── tomcat-users.xsd
└── web.xml
2 directories, 10 files
[root@web_server01~]# 


5.Tomcat 配置环境变量


  • 设置环境变量,便于启动/关闭


# 设置环境变量
[root@web_server01~]# echo 'export PATH=/usr/local/tomcat-9/bin:$PATH' > /etc/profile
# source下环境变量
[root@web_server01~]# source /etc/profile
# 关闭tomcat 服务
[root@web_server01~]# shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat-9
Using CATALINA_HOME:   /usr/local/tomcat-9
Using CATALINA_TMPDIR: /usr/local/tomcat-9/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat-9/bin/bootstrap.jar:/usr/local/tomcat-9/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
# 重启tomcat
[root@web_server01~]# startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat-9
Using CATALINA_HOME:   /usr/local/tomcat-9
Using CATALINA_TMPDIR: /usr/local/tomcat-9/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat-9/bin/bootstrap.jar:/usr/local/tomcat-9/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@web_server01/usr/local/tomcat-9]# 


6.Tomcat 端口介绍


  • 端口解释


tomcat启动之后默认会启动3个端口,分别是8080,8009,8005
修改端口, server.xml 配置文件
8009 nginx 代理,9默认没开启。
8005 tomcat 端口负责关闭tomcat的请求


  • 8080 和8443 端口—监听浏览器发送请求


image.png


这个端口用于监听浏览器发送的请求,设置为80后可以直接使用域名访问,但是如果使用普通账户启动的tomcat,则不能使用小于1024的端口
8443端口是用于https连接的,除了打开注释之外还需要有域名证书才可以


  • 8009端口 —nginx 反向代理


image.png


7.WEB 站点部署–将java 代码打包成war文件


  • 代码上线


image.png


代码上线 主要有2种方式,一种是直接将代码放在web目录,还有一种就是通过开发工具将程序打包成war包。


二、Tomcat 性能调优


  • 生产环境tomcat 服务器优化


线上环境使用默认tomcat配置文件,性能很一般,为了满足大量用户的访问,需要对tomcat进行参数性能优化,具体优化的地方如下:


这里着重讲解tomcat参数的优化:server.xml文件,关闭DNS查询、配置最大并发等参数。
maxThreads:tomcat起动的最大线程数,即同时处理的任务个数,默认值为200
acceptCount:当tomcat启动的线程数达到最大时,接受排队的请求个数,默认值为100
当然这些值都不是越大越好,需要根据实际情况来设定。可以基于测试的基础上来不断的调优分析。
<Connector port="8080"   
  protocol="org.apache.coyote.http11.Http11NioProtocol"  
     connectionTimeout="20000"  
     redirectPort="8443"   
     maxThreads="5000"   
     minSpareThreads="20"  
     acceptCount="10000" 
     disableUploadTimeout="true" 
     enableLookups="false"   
     URIEncoding="UTF-8" />


  • 具体优化点:


1.降权启动tomcat


[root@web_server01 ~]# useradd -M -s /sbin/nologin tomcat
[root@web_server01 ~]# chown -R tomcat.tomcat /usr/local/tomcat-9/
[root@web_server01 ~]# /usr/local/tomcat-9/bin/startup.sh 


2**.屏蔽dns查询 —enableLookups=”false“**


<Connector  port="8081" protocol="HTTP/1.1"
         connectionTimeout="6000" enableLookups="false" acceptCount="800"
         redirectPort="8443" />


3.JVM 参数调优


3.1 bin/catalina.sh JVM参数优化,添加如下内容:
CATALINA_OPTS="$CATALINA_OPTS -Xms512M -Xmx1024M -Xmn100M -XX:SurvivorRatio=4 -XX:+UseConcMarkS
weepGC -XX:CMSInitiatingOccupancyFraction=82 -DLOCALE=UTF-16LE  -DRAMDISK=/ -DUSE_RAM_DISK=ture
-DRAM_DISK=true -Djava.rmi.server.hostname=192.168.111.128 -Dcom.sun.management.jmxremote.port
=10000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
==============分割线===========分割线=================分割线====================
补充:
AVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m"
server:一定要作为第一个参数,在多个CPU时性能佳
-Xms:初始堆内存Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
-Xmx:初始堆内存heap最大值,使用的最大内存
上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。
-XX:PermSize:设定内存的永久保存区域
-XX:MaxPermSize:设定最大内存的永久保存区域
-XX:MaxNewSize:
-Xss 15120 这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k.
+XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
-Xss:每个线程的Stack大小
-verbose:gc 现实垃圾收集信息
-Xloggc:gc.log 指定垃圾收集日志文件
-Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一
-XX:+UseParNewGC :缩短minor收集的时间
-XX:+UseConcMarkSweepGC :缩短major收集的时间


三、Tomcat 动静分离


3.1 什么是动静分离


  • Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat、Resin出来动态页面。


  • 动静分离从目前实现角度来讲大致分为两种,一种是纯粹的把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;另外一种方法就是动态跟静态文件混合在一起发布,通过nginx来分开。就是我们常说的lnmt架构


3.2 lnmt 架构部署


3.2.1 实验环境


  • 实验环境说明


image.png


3.2.2 nginx 部署


  • 源码安装nginx


nginx安装详解


3.2.3 mysql 部署


  • 源码安装mysql 5.7


#安装依赖包
[root@client ~]# yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel gcc gcc-c++ epel-release
# 创建mysql系统用户
[root@web02_server~]# useradd -M -s /sbin/nologin mysql
[root@web02_server~]# id mysql 
# 下载mysql 安装包
[root@web02_server~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
# 解压mysql 安装包
[root@web02_server~]# tar -xf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
# 创建软链接
[root@web02_server~]# cd /usr/local/
[root@web02_server/usr/local]# ln -s mysql-5.7.22-linux-glibc2.12-x86_64/ mysql5.7
[root@web02_server/usr/local]# ls
bin    include  libexec                              sbin
etc    lib      mysql5.7                             share
games  lib64    mysql-5.7.22-linux-glibc2.12-x86_64  src
[root@web02_server/usr/local]# 
# 修改属主属组
[root@web02_server/usr/local]# chown -R mysql:mysql mysql5.7/
# 设置环境变量
[root@web02_server/usr/local/mysql5.7/bin]# echo "export PATH=/usr/local/mysql5.7/bin:$PATH" > /etc/profile.d/mysql.sh
[root@web02_server/usr/local/mysql5.7/bin]# source /etc/profile.d/mysql.sh 
[root@web02_server/usr/local/mysql5.7/bin]# 
# 创建存放数据的目录并修改属主
[root@web02_server~]# mkdir /date
[root@web02_server~]# chown -R mysql.mysql /date/
# 初始化mysql 
[root@web02_server~]# /usr/local/mysql5.7/bin/mysqld --initialize --user=mysql --datadir=/data/
末尾会给一个临时密码,这里需要记住
qy4nD69ghX*4
# 配置配置文件 
[root@web02_server~]# cat > /etc/my.cnf <<EOF
> [mysqld]
> basedir = /usr/local/mysql5.7
> datadir = /data
> socket = /tmp/mysql.sock
> port = 3306
> pid-file = /data/mysql.pid
> user = mysql
> skip-name-resolve
> EOF
[root@web02_server~]# cat /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql5.7
datadir = /data
socket = /tmp/mysql.sock
port = 3306
pid-file = /data/mysql.pid
user = mysql
skip-name-resolve
# 配置服务启动脚本
[root@web02_server/usr/local/mysql5.7]# cd support-files/
[root@web02_server/usr/local/mysql5.7/support-files]# ls
magic  mysqld_multi.server  mysql-log-rotate  mysql.server
[root@web02_server/usr/local/mysql5.7/support-files]# \cp mysql.server /etc/init.d/mysqld
[root@web02_server/usr/local/mysql5.7/support-files
[root@web02_server~]# chkconfig --add mysqld
[root@web02_server~]# chkconfig --level 35 mysqld on
# 启动mysql
[root@web02_server~]# service mysqld restart
 ERROR! MySQL server PID file could not be found!
Starting MySQL.Logging to '/data/web02_server.err'.
 SUCCESS! 
[root@web02_server~]#
# 修改临时密码(输入临时密码:qy4nD69ghX*4)
[root@web02_server~]# /usr/local/mysql5.7/bin/mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.22
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> set password = password('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye


3.2.4 tomcat 部署


  • 这里详细从新介绍一遍


# 配置java环境
[root@tomcat-server~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
# 下载安装包
[root@tomcat-server~]# wget wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.52/bin/apache-tomcat-9.0.52.tar.gz
# 创建目录
[root@tomcat-server~]# mkdir -p /usr/local/tomcat{1,2}
[root@tomcat-server~]# 
# 解压安装包
[root@tomcat-server~]# tar -xf apache-tomcat-9.0.52.tar.gz -C /usr/local/tomcat1
[root@tomcat-server~]# tar -xf apache-tomcat-9.0.52.tar.gz -C /usr/local/tomcat2
[root@tomcat-server~]# 
# 创建软链接
[root@tomcat-server~]# cd /usr/local/tomcat1
[root@tomcat-server/usr/local/tomcat1]# ls
apache-tomcat-9.0.52
[root@tomcat-server/usr/local/tomcat1]# ln -s apache-tomcat-9.0.52/ tomcat1
[root@tomcat-server/usr/local/tomcat1]# cd ..
[root@tomcat-server/usr/local]# cd tomcat2
[root@tomcat-server/usr/local/tomcat2]# ln -s apache-tomcat-9.0.52/ tomcat2
[root@tomcat-server/usr/local/tomcat2]# 
# 创建实验目录和网页文件
[root@tomcat-server~]# mkdir /usr/local/tomcat1/tomcat1/webapps/test/
[root@tomcat-server~]# mkdir /usr/local/tomcat2/tomcat2/webapps/test/
[root@tomcat-server~]# vim /usr/local/tomcat2/tomcat2/webapps/test/index.jsp
<html>
<head>
<title>test page</title>
</head>
<body>
<%
out.println("hello,tomcat2");
%>
%</body>
%</html>
[root@tomcat-server~]# vim /usr/local/tomcat1/tomcat1/webapps/test/index.jsp
<html>
<head>
<title>test page</title>
</head>
<body>
<%
out.println("hello,tomcat2");
%>
%</body>
%</html>
#修改tomcat2的端口
将8005改为8006
将8080改为8081
将8009改为8010 
# 启动tomcat
[root@tomcat-server~]# /usr/local/tomcat1/tomcat1/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat1/tomcat1
Using CATALINA_HOME:   /usr/local/tomcat1/tomcat1
Using CATALINA_TMPDIR: /usr/local/tomcat1/tomcat1/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat1/tomcat1/bin/bootstrap.jar:/usr/local/tomcat1/tomcat1/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@tomcat-server~]# /usr/local/tomcat2/tomcat2/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat2/tomcat2
Using CATALINA_HOME:   /usr/local/tomcat2/tomcat2
Using CATALINA_TMPDIR: /usr/local/tomcat2/tomcat2/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat2/tomcat2/bin/bootstrap.jar:/usr/local/tomcat2/tomcat2/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
\Tomcat started.
[root@tomcat-server~]# 


  • 测试


image.png


image.png


3.2.5 配置nginx 配置文件


  • 修改配置文件


#新加入的行起始点
    upstream web {
          server 10.0.0.7:8080;
          server 10.0.0.7:8081;
        }
#在server段添加以下内容即可
        location ~* \.(do|jsp)$ {
            proxy_pass http://web;
        }
        location ~* tomcat\.(png|css)$ {
            proxy_pass http://web;
        }
[root@nginx-server~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful


image.png



  • 测试


  • 静态资源访问nginx,输入10.0.0.9


image.png


  • 动态资源访问tomcat 输入 10.0.0.9/index.jsp


image.png


  • 浏览器输入:10.0.0.9/test/index.jsp


image.png


  • 再次刷新下


image.png


ok!lnmt 动静分离搭建完毕!


四、总结


好了,本文已经将tomcat 详细的介绍完毕,当然还有部分没做介绍,需要大家一起研究。相信你读完这篇tomcat 详解,已经掌握了基本tomcat 配置了。


最后 如果 你对博主的文章感兴趣,欢迎关注,点赞!订阅相关专栏哦


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
Arthas 监控 Java
Arthas 可以用于监控和诊断在 Windows 系统下部署的 Tomcat 服务
Arthas 可以用于监控和诊断在 Windows 系统下部署的 Tomcat 服务
258 2
|
3天前
|
应用服务中间件
jeecgboot开发环境服务启动刷新没问题,部署到tomcat,F5刷新或者浏览器刷新,会出现404
jeecgboot开发环境服务启动刷新没问题,部署到tomcat,F5刷新或者浏览器刷新,会出现404
|
3天前
|
应用服务中间件
今日分享记录:WIN10中如何将tomcat注册到Server服务中
今日分享记录:WIN10中如何将tomcat注册到Server服务中
63 1
|
3天前
|
监控 Java 应用服务中间件
【Linux】Web服务之Tomcat服务
【Linux】Web服务之Tomcat服务
41 0
|
3天前
原生表格纵向滚动条
原生表格纵向滚动条
|
7月前
|
应用服务中间件 Linux Windows
一台tomcat如何部署多个端口不同的服务?
复制tomcat下webapps文件夹为webapps1 , webapps2 (文件名称无要求 , 需要部署N个项目就复制N-1个文件夹 , 比如部署三个项目 , 再复制两个webapps就行 , 以此类推)
79 0
|
7月前
|
Java Unix 应用服务中间件
tomcat 端口 8005 被 windows 系统服务占用导致启动闪退的问题
tomcat 端口 8005 被 windows 系统服务占用导致启动闪退的问题
56 0
|
9月前
|
域名解析 运维 负载均衡
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
265 1
|
9月前
|
应用服务中间件 Apache Windows
Apache Tomcat 9.0 Tomcat9服务无法启动,提示“Windows无法启动Apache Tomcat……错误1067:进程意外终止
Apache Tomcat 9.0 Tomcat9服务无法启动,提示“Windows无法启动Apache Tomcat……错误1067:进程意外终止
467 0
Apache Tomcat 9.0 Tomcat9服务无法启动,提示“Windows无法启动Apache Tomcat……错误1067:进程意外终止