设为首页 收藏本站
查看: 1906|回复: 0

[经验分享] Linux Tomcat JSP 布署详细教程

[复制链接]

尚未签到

发表于 2018-12-5 06:50:07 | 显示全部楼层 |阅读模式
  Linux Tomcat  JSP动态网页解析 v7.0 ★★★
  1 Tomcat 概述
Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,Tomcat本身也是一个HTTP服务器,可以单独使用,apache是一个以C语言编写的HTTP服务器。Tomcat主要用来解析JSP语言。目前最新版本为8.0。
  常见版本:5.5x  6.0x 7.0x
  官网: Apache.tomcat.org
  2 Tomcat JDK
  JDK:  java开发工具包,包含 JRE、javac 、javaw工具
JRE:java运行环境,在JDK包中
SDK:辅助开发工具,  java开发的套件
  针对不同使用的类库
J2EE: 企业应用
J2SE:  标准
J2ME: 手机
  3 Tomcat 安装
安装tomcat之前需要安装jdk (Java Development Kit) 是 Java 语言的软件开发工具包(SDK)),这里选择jdk-6u18-linux-x64-rpm.bin,bin文件安装跟sh文件方法一样,sh ./ jdk-6u18-linux-x64-rpm.bin,回车即可,默认安装到/usr/java/jdk1.6.0_18目录下。

下载JDK与Tomcat.
     jdk下载地址:
   http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
   http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.rpm
http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz?AuthParam=1480477540_8dd19bbd8e9b40171c9830eba9d480a6
配置JDK环境变量
配置java环境变量,vi /etc/profile 添加如下语句:
export JAVA_HOME=/usr/local/jdk1.8
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib  
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin  
source    /etc/profile    //使环境变量立刻生效。  
java    -version         //查看java版本,显示版本为1.6.0_18,证明安装成功。
     tomcat下载地址:
http://tomcat.apache.org
wget –c http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.39/bin/apache-tomcat-8.0.39.tar.gz
在官网下载tomcat相应版本,下载完后解压:
tar  -xzf  apache-tomcat-6.0.30.tar.gz  
;mv apache-tomcat-8.0.39  /usr/local/tomcat即可。
启动tomcat,命令为:/usr/local/tomcat/bin/startup.sh
  查看ps  -ef |grep tomcat 进程及端口是否存在,
通过页面访问可以看到tomcat默认测试页面:
  生成链接以便版本升级
ln -s apache-tomcat-7.0.54 server
生成链接以便版本升级
ln -s jdk1.7.0_55 latest
ln -s latest default
  4 Tomcat 配置文件详解
  ................................Server层
............................Service层

..........................Engine层
.........................Host层
...............Context层




  Server层
对应Server组件,表示整个Tomcat(Catalina Servlet容器),它处于Tomcat顶层,可以包含一个或多个Service层。
对应Service组件,是Server层中的一个逻辑功能层,包含一个Engine层,以及一个或多个Connector,Service组件将一个或多个Connector组件绑定到Engine层上,Connector组件侦听端口,获得用户请求,并将请求转发到Engine层处理,同时把处理结果转发给用户,从而实现一个特定的功能。
Engine层
对应Engine组件,负责请求分发处理,可以连接多个Connector,它从Connector接收请求后,解析出可以完成用户请求的URL,根据URL可以把请求匹配到正确的Host上,当Host处理完用户请求后,Engine层把结果返回给适合连接器,再由连接器传输给用户。
Host层
对应Host组件,表示一个虚拟主机,一个Engine层可以包含多个Host层,每个Host层可以包含一个或多个Context层,对应不同的web应用。
Context层
对应Context组件,代表某个虚拟主机上的实际目录或一个WAR,即单个Web应用程序,它运行在特定的虚拟主机中,使用最为频繁。一个Host层包含多个Context层,每一个Context都有唯一的路径,Host层接到请求后,根据用户请求的URL,将请求定位到Context层。
  元素名 属性  解释
server  port    指定一个端口,这个端口负责监听关闭tomcat 的请求
shutdown    指定向端口发送的命令字符串
service name    指定service 的名字
Connector ( 表示客户端和service之间的连接) port    指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求
minProcessors   服务器启动时创建的处理请求的线程数
maxProcessors   最大可以创建的处理请求的线程数
enableLookups   如果为true ,则可以通过调用request.getRemoteHost() 进行DNS 查询来得到远程客户端的实际主机名,若为false 则不进行DNS 查询,而是返回其ip 地址
redirectPort    指定服务器正在处理http 请求时收到了一个SSL 传输请求后重定向的端口号
acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
connectionTimeout   指定超时的时间数( 以毫秒为单位)
Engine ( 表示指定service 中的请求处理机,接收和处理来自Connector的请求)   defaultHost 指定缺省的处理请求的主机名,它至少与其中的一个host 元素的name 属性值是一样的
Context ( 表示一个web 应用程序,通常为WAR 文件,关于WAR 的具体信息见servlet 规范)    docBase 应用程序的路径或者是WAR 文件存放的路径
path    表示此web 应用程序的url 的前缀,这样请求的url为http://localhost:8080/path/ ****

reloadable  这个属性非常重要,如果为true ,则tomcat 会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes 目录的变化,自动装载新的应用程序,我们可以在不重起tomcat 的情况下改变应用程序
  host ( 表示一个虚拟主机 )   name    指定主机名
appBase 应用程序基本目录,即存放应用程序的目录
unpackWARs  如果为true ,则tomcat 会自动将WAR 文件解压,否则不解压,直接从WAR 文件中运行应用程序
Logger ( 表示日志,调试和错误信息)  className   指定logger 使用的类名,此类必须实现org.apache.catalina.Logger 接口
prefix  指定log 文件的前缀
suffix  指定log 文件的后缀
timestamp   如果为true ,则log 文件名中要加入时间,如下例:localhost_log.2001-10-04.txt
Realm ( 表示存放用户名,密码及role的数据库)    className   指定Realm 使用的类名,此类必须实现org.apache.catalina.Realm 接口
Valve ( 功能与Logger 差不多,其prefix 和suffix 属性解释和Logger 中的一样) className   指定Valve 使用的类名,如用org.apache.catalina.valves.AccessLogValve 类可以记录应用程序的访问信息
directory   指定log 文件存放的位置
pattern 有两个值,common 方式记录远程主机名或ip 地址,用户名,日期,第一行请求的字符串,HTTP 响应代码,发送的字节数。combined 方式比common 方式记录的值更多
  
  





  


  
          # 重定向8443
  
->
  

AJP连接方式
  
  
->
  
  

  

自动解压war包   自动布署 (生产建议关闭自动布署)
  
->
  
  



  注意:tomcat的配置文件中的注释内容不能使用#号,而要使用
  5 Tomcat 定义发布目录
  默认发布目录:  /usr/local/tomcat/webapps/ROOT
  【注】:修改发布目录时,要把源webapps/目录下所有文件rm –rf *,否则tomcat默认去找原目录
Vi /usr/local/tomcat/conf/server.xml
修改程序部署路径:
方法1:

  appBase="E:\www\javapms" 设置程序部署路径,
在server.xml尾部的前面插入下面一行参数。
方法2:
   #此处插入
  path:浏览器访问时的路径名
docBase:web项目的WebRoot所在的路径,注意是WebRoot的路径,不是项目的路径。其实也就是编译后的项目
reloadble:设定项目有改动时,tomcat是否重新加载该项目
  测试网页index.jsp


tomcat jsp test page



  6 Tomcat 服务与端口
  【注意】:生产环境中,tomcat有二个工作目录,
[root@tomcat01 tomcat8]# ll
rw-r--r--. 1 root root 16195 11月  9 2016 RUNNING.txt
drwxr-xr-x. 4 root root  4096 11月 30 08:51 temp
drwxr-xr-x. 7 root root  4096 11月 29 08:53 webapps
drwxr-xr-x. 3 root root    21 11月 14 23:22 work
此工作目录发产生一些临时文件,建议在重启tomcat的时候,手动清空这二个文件夹。
  6.1 启动和关闭
  常用java解析器: tomcat resin jboss weblogic websphere
  生产使用环境:tomcat6.0
生产管理环境:
chown -R tomcat.tomcat /usr/local/jdk/
chown -R tomcat.tomcat /usr/local/tomcat
su - tomcat   切换到tomcat用户下执行启动tomcat
  停止
PID =$(ps -ef |grep java |grep -v "grep"|awk '{print $2}')    # 通过shell取java的PID
Kill -9 PID
  /usr/local/tomcat8/bin/shutdown.sh
  启动
/usr/local/tomcat8/bin/startup.sh
  6.2 默认端口:8005 8080 8009
关管端口  shutdown.sh的控制端口
访问端口  http连接端口
代理端口
  6.3 防火墙配置:
  打开防火墙,使外部能访问
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
service iptables save
service iptables restart
或直接修改文件/etc/sysconfig/iptables.
vi /etc/sysconfig/iptables
A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
service iptables restart
在浏览器输入: http://192.168.16.133:8080
如在本机可以输入: http://localhost:8080
出现tomcat的页面表示安装成功.
  6.4 jsp测试页:
vim /usr/local/tomcat8/webapps/ROOT/index.jsp


Now time is:


  7 Tomcat 管理 进程脚本
  /usr/local/tomcat/webapps/ROOT  发布目录 tomcat
  如果启动多个tomcat服务,需要修改 800
8080 8009端口, 复制一次tomcat目录
  Tomcat守护进程脚本
  !/bin/bash
  usage(){
echo "USAGE: start | stop | status"
}
define PID
tomcat_pid=ps -ef |grep tomcat | grep -v "grep" |awk '{print $2}'
TOMCAT_PATH=/usr/local/tomcat/
start(){
/usr/local/tomcat8/bin/startup.sh
}
status(){
ps -ef |grep tomcat | grep -v "grep"
}
  stop(){
kill -9 $tomcat_pid
sleep 5

cd $TOMCAT_PATH
  rm temp/ -rf
rm work/
-rf

TOMCAT_STATUS=$tomcat_pid
  if [ -z $TOMCAT_STATUS ];then
echo "tomcat stop"
else
kill -9 $tomcat_pid
fi
  }
  MAIN(){
case $1 in
start)
start
;;
stop)
stop
;;
status)
status
;;
*)
usage
esac
}
  MAIN $1
  8 Tomcat 安全管理配置规范
  8.1 管理端口保护8005
tcp6   0   0 127.0.0.1:8005    :::*     LISTEN    35830/java
  [root@apache01 webapps]# telnet 127.0.0.1 8005
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SHUTDOWN
能过telnet命令连接到8005端口,可以执行SHUTDOWN命令关闭tomcat
  优化方案:
修改默认的8005端口,修改shutdown指定字符串

将端口修改成随机端口,将关闭命令修改成任意字符
  8.2 ajp连接端口8009
修改默认的8009端口,通过Iptables控制ajp端口访问


保护此端口的目的在于防止线下的测试流量被mod_jk转发至线上tomcat服务器
  8.3 禁用管理端
删除tomcat/目录的一些host-manager docs  examples  或者将tomcat的目录设定为
tomcat以外的目录
对于前端web模块,tomcat管理端属于tomcat高危安全隐患,一旦被攻破,×××通过上
传web shell的方式将会直接取得服务器的控制

修改默认的发布目录站点位置

  8.4 降权启动

以非root用户启动tomcat
  8.5 文件列表访问控制
conf/web.xml文件中default部分listings的配置必须为false;
false为不列出目录文件,true为允许,默认false

listings
false

  8.6 版本信息隐藏

1.修改conf/web.xml,重定向403,404以及500等错误到指定的错误页面,
2. 也可以修改应用程序目录下的WEB-INF/web.xml下的配置进行错误页面的重定向

403
/forbidden.jsp
404
/notfound.jsp


500
/systembusy.jsp

在配置中对一些常见错误进么重定向,避免当出现错误时,tomcat默认显示的错误页面暴
露服务器和版本信息,必须确保程序根目录下的错误页面已经存在
  8.7 server header重写
在HTTP Connector配置中加入server的配置
server="webserver"
当tomcat HTTP端口直接提供web服务时,此配置生效,加入此配置,将会替换http响
应server header部分的默认配置,默认是Apache-Coyote/1.1
示例:
[root@tomcat01 conf]# curl --head 127.0.0.1:8080
HTTP/1.1 403 Forbidden
Server: Apache-Coyote/1.1
Cache-Control: private
Expires: Thu, 01 Jan 1970 08:00:00 CST
Content-Type: text/html
Content-Length: 559
Date: Sun, 31 Dec 2017 14:28:10 GMT

修改配置:


修改后的结果
[root@tomcat01 scripts]# curl --head 10.204.3.7:8080
HTTP/1.1 403 Forbidden
Cache-Control: private
Expires: Thu, 01 Jan 1970 08:00:00 CST
Content-Type: text/html
Content-Length: 559
Date: Sun, 31 Dec 2017 14:33:57 GMT
Server: nginx1.1
  8.8 访问限制

通过限制,限制访问的ip来源
ip的白名单,拒绝非白名单IP的访问,此配置主要是针对高保密级别的系统,



  8.9 起停脚本权限回收
去除其他用户对tomcat的bin目录下的shutdown.sh  startup.sh catalina.sh的执行权限
chmod -R 744 tomcat/bin/*
  8.10 访问日志格式规范
开启tomcat默认访问日志中的referer和User-Agent记录,是为了一旦出现安全问题能够更好的根据
日志进行问题排查

  9 Tomcat的状态管理和host管理

管理状态页文件
  /usr/local/tomcat8/webapps/manager

修改配置文件
  vim /usr/local/tomcat8/conf/tomcat-users.xml
在最后段前添加的内容如下:



重启服务
访问状态页
  http://10.204.3.6:8080/manager
  10 Tomcat 多实例
  11 Tomcat 性能优化
  11.1 硬件资源优化
比如内存,硬盘
11.2 架构上的优化
利用缓存和压缩 在nginx前端
做动静分离 缓解tomcat压力
搭建集群 采用nginx请求分流
  11.3 JVM参数调优
优化文件: /usr/local/tomcat/bin/catalina.sh
  CATALINA_OPTS="
server
Xms6000M
Xmx6000M
Xss512k
XX:NewSize=2250M
XX:MaxNewSize=2250M
XX:PermSize=128M
XX:MaxPermSize=256M
XX:+AggressiveOpts
XX:+UseBiasedLocking
XX:+DisableExplicitGC
XX:+UseParNewGC
XX:+UseConcMarkSweepGC
XX:MaxTenuringThreshold=31
XX:+CMSParallelRemarkEnabled
XX:+UseCMSCompactAtFullCollection
XX:LargePageSizeInBytes=128m
XX:+UseFastAccessorMethods
XX:+UseCMSInitiatingOccupancyOnly
Duser.timezone=Asia/Shanghai
Djava.awt.headless=true"
  参数的详细配置,参考:http://blog.运维网.com/zhongliang/2101918
  11.4 Tomcat 参数优化
这里着重讲解tomcat参数的优化:server.xml文件,关闭DNS查询、配置最大并发等参数。
maxThreads:tomcat起动的最大线程数,即同时处理的任务个数,默认值为200
acceptCount:当tomcat起动的线程数达到最大时,接受排队的请求个数,默认值为100
当然这些值都不是越大越好,需要根据实际情况来设定。可以基于测试的基础上来不断的调优分析。
  
maxSpareThreads :     最大空闲线程数      
acceptCount是当线程数达到maxThreads后,后续请求会被放入一个等待队列,这个acceptCount是这个队列的大小,如果这个队列也满了,就直接refuse connection
压缩
compression=”on” compressionMinSize=”2048″      compressableMimeType=”text/html,text/xml,text/javascript,text/css,text/plain”
  11.5 外部调优
禁用DNS查询
调整线程数(线程池)
maxThreads="600"   最大线程数
minSpareThreads="100"   初始化时创建的线程数
maxSpareThreads="500"  一旦创建的线程越过这个值,Tomcat就会关闭不再需要的socket线程
acceptCount="700"  指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理

压缩
  11.6    java工具  监控和管理控制台

在windows端安装jdk包,找到以下命令
在c:\ Program Files\jdk\bin\jconsole.exe   监控和管理控制台
  通过IP:端口连接到监控和JAVA控制台
在c:\ Program Files\jdk\bin\jvisualvm.exe
通过IP:端口连接   管理工具

在tomcat服务器上修改配置文件
  catalina.sh中加入配置,放置在#!/bin/bash标签下
vim /usr/local/tomcat8/bin/catalina.sh
  !/bin/bash
CATALINA_OPTS="$CATALINA_OPTS
Djava.rmi.server.hostname=10.204.3.7
Dcom.sun.management.jmxremote
Dcom.sun.management.jmxremote.port=12345
Dcom.sun.management.jmxremote.authenticate=true
Dcom.sun.management.jmxremote.ssl=false
Dcom.sun.management.jmxremote.pwd.file=/usr/local/jdk1.7/jre/lib/management/jmxremote.password"

配置权限文件
  cd /usr/local/jdk1.7/jre/lib/management/
cp jmxremote.password.template jmxremote.password
vi jmxremote.password
zhongliang 123456           # 用户名zhongliang  密码249765270
chmod 600 jmxremote.password

重启tomcat服务,开启监听端口12345
连接jconsole和jvisualvm
  输入远程主机:端口  10.204.3.7:12345
  选择文件—》添加JMX..连接—》10.204.3.7:12345
  CPU使用情况  堆,垃级回收  抽样器
实时线程数
  注意:在控制台上执行GC清理的时候,会出现前端断连
  12 Zabbix监控tomcat
zabbix编译的时候,指定--enable-java
yum安装的时候,yum install zabbix-java

vim zabbix_server.conf
JavaGateway=192.168.3.14
JavaGatewayPort=10052
StartJavaPollers=5
第三方工具,cmdline-jmxclient
http://crawler.archive.org/cmdline-jmxclient/
  13 Apache整合tomcat

安装httpd
安装tomcat
编译生成mod_jk。
  下载tomcat-connectors-1.2.42-src.tar.gz包
Wget -c https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.42-src.tar.gz
  tar xzvf tomcat-connectors-1.2.42-src.tar.gz
cd tomcat-connectors-1.2.42/native
./configure --with-apxs=/usr/local/apache2/bin/apxs
make
cp ./apache-2.0/mod_jk.so /usr/local/apache/modules/
  配置。
在/usr/local/apache/conf/下面建立两个配置文件mod_jk.conf和workers.properties。
  vi mod_jk.conf#######################
添加以下内容:
指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /usr/local/apache/conf/workers.properties
  Where to put jk logs
JkLogFile /usr/local/apache/logs/mod_jk.log
  Set the jk log level [debug/error/info]
JkLogLevel info
  Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
  JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
  JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
  将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/ worker1
JkMount /
.jsp worker1
  vi workers.properties###########################
添加以下内容:
Defining a worker named worker1 and of type ajp13
worker.list=worker1
  Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
  整合apache和tomcat
Vim httpd.conf#############
DirectoryIndex index.jsp index.html
添加index.jsp
LoadModule jk_module modules/mod_jk.so
加载mod_jk.so模块
Include /usr/local/apache/conf/mod_jk.conf
引入配置文件
  将tomcat和apache的发布目录设置成一致。建立站点文件index.jsp
  14 Nginx整合Tomcat 集群
T_INSTALL_DIR=/usr/local/tomcat
Port=export 8005+1
复制多个tomcat到tomcat1 tomcat2 tomcat3
  修改对应每个发布目录的端口
  安装nginx
tar zxvf nginx-1.7.8.tar.gz  //解压
cd nginx-1.7.8
./configure --with-http_stub_status_module --with-http_ssl_module//启动server状态页和https模块
make && make install
  修改nginx.conf配置文件,添加一个location
location ~  .(jsp|do)$  {  
index   index.jsp;
proxy_pass http://192.168.74.129:8081;  //来自jsp或者do的后缀的请求交给tomcat处理
proxy_redirect off;  
proxy_set_header Host $host;    //后端的Web服务器可以通过X-Forwarded-For获取用户真实IP  
proxy_set_header X-Real-IP $remote_addr;  
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
client_max_body_size 10m;   //允许客户端请求的最大单文件字节数  
client_body_buffer_size 128k; //缓冲区代理缓冲用户端请求的最大字节数  
proxy_connect_timeout 90;   //nginx跟后端服务器连接超时时间  
proxy_read_timeout 90;     //连接成功后,后端服务器响应时间  
proxy_buffer_size 4k;      //设置代理服务器(nginx)保存用户头信息的缓冲区大小  
proxy_buffers  6  32k;       //proxy_buffers缓冲区,网页平均在32k以下的话,这样设置  
proxy_busy_buffers_size 64k;//高负荷下缓冲大小(proxy_buffers*2)  
proxy_temp_file_write_size 64k; //设定缓存文件夹大小,大于这个值,将从upstream服务器传  
}
  tomcat虚拟主机
  tomcat 配置状态信息
  tomcat配置错误页面优雅显示
  tomcat配置管理页面
  tomcat 配置日志管理
  15 Tomcat故障
  日志文件
/usr/local/tomcat/logs/catalina.out
  【注】:tomcat查端口时正常,服务正常,但访问后,服务消失,
问题原因:因为配置文件不正确,导致报错,服务自动停止
解决方法:检查配置文件
例如:配置文件中没有定义发布目录,但是发布目录中的ROOT已被删除,会导致此类问题发生
  15.1 cannot execute binary file
  /usr/local/tomcat8/bin/catalina.sh: line 433: /usr/local/jdk1.8/bin/java: cannot execute binary file
  [root@tomcat01 local]# java --version
bash: /usr/local/jdk1.8/bin/java: cannot execute binary file
  原因:软件版本与系统版本不一致
  15.2 insufficient free space available after evicting expired cache entries-consider increasing the maximum size of the cache.
  tomcat部署jenkins启动报错:
insufficient free space available after evicting expired cache entries-consider increasing the maximum size of the cache.
  解决该问题方法,修改tomcat/conf/context.xml文件,增加资源最大可缓存的大小:





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-643357-1-1.html 上篇帖子: Tomcat单机多实例配置 下篇帖子: 修改tomcat的默认主页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表