Tomcat是Java Web开发最为常用的web容器。说来惭愧,从写第一个Java的Hello World程序迄今已3年有余,对Tomcat的使用却也一直停留在Hello World级别。鉴于此,决定对Tomcat的日常工作使用做一个比较完整全面的总结。
<一>. 简介:
Tomcat是由Apache软件基金组织开发的免费开源的Java We容器,不支持EJB规范。针对EJB程序的开发需要专门的EJB容器,比如免费开源的JBoss、或者商业用途的WebLogic、Websphere等。
<二>. Windows平台的安装:
1. 将apache-tomcat-6.0.41.zip解压缩到目录E:\study\tomcat\doc
2. 启动/关闭:进入cmd命令行执行操作
E: #切换盘符 cd E:\study\tomcat\doc\apache-tomcat-6.0.41\bin #进入/bin目录 startup.bat #启动服务 shutdown.bat #关闭服务或者关闭窗体“X”
3. 设置环境变量:
创建CATALINA_HOME变量,设置为Tomcat的根目录:E:\study\tomcat\doc\apache-tomcat-6.0.41
添加Tomcat的/bin目录到环境变量:%CATALINA_HOME%\bin;
执行脚本或者输入命令验证:
startup.bat shutdown.bat
4. 常见错误:
<1>. 发现CATALINA_HOME变量的设置并未生效:执行如下命名,发现CATALINA_HOME并不是自己所设置的位置。重新打开环境变量设置界面,发现之前有设置过Administrator用户的CATALINA_HOME变量、删除即可。
echo %CATALINA_HOME%
<2>. 在机器上面安装两个Tomcat,只设置了其中一个Tomcat的环境变量。分别以不同的端口启动,发现执行未设置环境变量的Tomcat的startup.bat脚本,启动的却是设置了环境变量的Tomcat,原因分析:
通过阅读启动脚本startup.bat得知,catalina.bat脚本的位置优先从变量CATALINA_HOME位置获取,
因此如果需要启动不同端口的Tomcat服务器,将不能设置CATALINA_HOME变量。脚本startup.bat文件包含如下行:
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
<3>. 有些时候,我们通过执行shutdown.bat脚本进行关闭操作后,发现无法再次启动,提示端口占用,这是因为Tomcat进程并未关闭。
netstat -aon | find "8080" #查看Tomcat的进程PID taskkill /PID 2504 #关闭Tomcat进程即可
<三>. Linux平台的安装:
1. 安装tomcat:使用nick账号上传apache-tomcat-6.0.37.tar.gz到/software目录,然后依次执行如下命令
su - nick #切换账号 cd /software #切换路径 mv apache-tomcat-6.0.37.tar.gz /usr/local #移动文件 cd /usr/local #切换路径 tar -zxvf apache-tomcat-6.0.37.tar.gz #进行安装 rm apache-tomcat-6.0.37.tar.gz #删除安装程序 mv apache-tomcat-6.0.37 tomcat #重命名安装目录
启动/关闭:
cd /usr/local/tomcat/bin #进入bin路径 ./startup.sh #启动 ./shutdown.sh #关闭
2. 设置环境变量:
echo $PATH #查看PATH cd ~ #切换到主目录 vi .bash_profile #编辑当前用户的环境变量
追加如下内容:
CATALINA_HOME=/usr/local/tomcat PATH=$CATALINA_HOME/bin:$PATH export CATALINA_HOME PATH
立即失效:
source .bash_profile
启动/关闭:在任意路径下执行
startup.sh shutdown.sh
3. 防火墙设置:开放8080端口
su - root #切换为root账号 vi /etc/sysconfig/iptables #编辑iptables文件
追加如下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
重启网卡生效:
service iptables restart
4. 常用命令:
在执行startup.sh和shutdown.sh无法正常启动、关闭Tomcat的时候,可以执行端口查看命令查看到Tomcat的进程号:
netstat -apn | grep 8080
或者执行进程查看命令,可查看到JDK、Tomcat的安装位置,JVM参数设置、JMX参数设置:
ps -ef | grep tomcat ps -ef | grep java
然后,关闭进程即可:
kill 2205 #关闭进程 kill -9 2205 #强制关闭
==============================================
欢迎拍砖或点赞!
相关推荐
内容概要:本文详细介绍了LabVIEW控件的设计与实现,尤其是一些由经验丰富的老工程师精心打造的控件。LabVIEW是一款图形化编程语言,广泛应用于数据采集、仪器控制和工业自动化领域。文中通过具体实例展示了如何利用LabVIEW创建美观且功能强大的控件,如滑动条、波形图、金属质感旋钮、动态波形图表以及智能选项卡等。作者强调了LabVIEW控件在灵活性和美观度方面的优势,并分享了许多实用的技术细节和优化方法。 适合人群:具有一定编程基础并希望深入了解LabVIEW控件设计的开发者和技术爱好者。 使用场景及目标:适用于需要进行高效的数据展示和交互设计的应用场景,如工业控制系统、实验室设备操作界面等。目标是帮助用户掌握LabVIEW控件的高级特性,提高开发效率和用户体验。 其他说明:文章不仅提供了具体的代码示例,还探讨了控件美学背后的设计理念和技术实现,鼓励读者探索更多可能性。
Delphi 12.3控件之unidac_10.4.0_d27pro.exe
11.盛趣自闭面(还是自己太菜).txt
58面经面试过程和题目.txt
电大操作系统课后习题解答
人工智能技术与应用演讲【61页PPT】
chromedriver-mac-arm64-135.0.7049.41.zip
内容概要:本文详细介绍了QPSK(四相移键控)调制方法及其在瑞利信道和高斯白噪声信道下的误码率(BER)性能分析。首先展示了QPSK星座图的绘制方法,接着构建了一个简化的QPSK发射机模型,用于将二进制比特流映射到相应的星座点。随后,分别实现了两种信道模型:高斯白噪声信道(AWGN)和瑞利信道,并解释了它们的工作原理以及如何向传输信号添加噪声。文中还提供了详细的误码率测试脚本,通过大量随机比特进行仿真,最终得到了不同信噪比条件下的误码率曲线。此外,作者还讨论了QPSK与其他调制方式如BPSK、16QAM之间的性能差异,强调了频谱效率与抗噪能力之间的权衡关系。 适合人群:对无线通信系统感兴趣的科研人员、研究生以及从事通信工程领域的工程师。 使用场景及目标:①帮助读者理解QPSK的基本原理及其在不同信道环境中的行为特性;②提供实用的Python代码片段,便于快速搭建仿真环境并验证理论结果;③探讨各种调制方式的选择依据,指导实际应用中的优化决策。 其他说明:文中多次提到‘骚操作’,意指一些巧妙但非传统的编程技巧,有助于提高代码执行效率或简化复杂度。同时提醒读者注意仿真过程中可能出现的问题,如
新建 Microsoft Word 文档 (9).docx
计算机科学与技术- 软件开发工具 培训资料
bitcount统计每个元素中设置的位数 B = bitcount(A) Counts the number '1' bits in each element B = bitcount(A, bitValue) "bitValue" = 1 = default = counts the occurance of '1' if bitValue = 0; counts the number '0' The total bits to verify is [8,16,32,or 64] based on the maximal value of A B = bitcount(A, bitValue, maxBits) the total # of bits to examine
MOM生产运营管理平台解决方案【35页PPT】
deli-数码录音电话机-HCD6238(28)P-TSD-使用说明书
Java项目基于ssm框架的课程设计,包含LW+ppt
Delphi 12.3控件之Tsilang 7.5.0.0 D12.7z
ios+UIButton分类+UIButton+UIButton图片文字位置
项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载
Java项目基于ssm框架的课程设计,包含LW+ppt
Delphi 12.3控件之TextEditorPro64.7z
尝试给OpenHarmony4.0增加可以在动态库中使用的日志模块 文章使用的资源,防止gitee资源丢失