简单的shell脚本tomcat启动与关闭
linux tomcat启动命令详解
linux tomcat启动命令详解
Linux下tomcat命令其中有直接启动服务的命令,那么下面由小编为大家整理了linux tomcat启动命令的相关知识,希望对大家有帮助!
linux tomcat启动服务命令
Linux下tomcat服务的启动、关闭与错误跟踪,使用PuTTy 远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:
切换到tomcat主目录下的bin目录(cd usr/local/tomcat/bin)
linux tomcat命令启动服务方式一
直接启动 ./startup.sh
linux tomcat命令启动服务方式二
作为服务启动nohup ./startup.sh &
linux tomcat命令启动服务方式三
控制台动态输出方式启动./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务
解释:
通过方式一、方式三启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也会立即停止,通过方式二可以作为linux 服务一直运行
通过方式一、方式二方式启动的tomcat,其日志会写到相应的日志文件中,而不能动态地查看tomcat控制台的输出信息与错误情况,通过方式三可以以控制台模式启动tomcat服务,
直接看到程序运行时后台的控制台输出信息,不必每次都要很麻烦的打开catalina.out日志文件进行查看,这样便于跟踪查阅后台输出信息。
tomcat控制台信息包括log4j和System.out.println()等输出的信息。
扩展:linux tomcat命令关闭服务的方式
./shutdown.sh。
tomcat教程
tomcat教程Tomcat是一个开源的、轻量级的应用服务器,是Apache软件基金会的一款重要项目。
它是一种常用的Java Servlet容器,用于在Java环境中运行的动态网页和Web应用程序。
Tomcat具有简单易用、稳定可靠、性能优越等特点,被广泛应用于Java开发领域。
首先,Tomcat的安装十分简单。
你可以去Tomcat官方网站上下载最新版本的Tomcat安装包,解压后即可使用。
安装完成后,你可以通过运行bin目录下的startup.sh或startup.bat脚本启动Tomcat,然后在浏览器中输入http://localhost:8080即可访问Tomcat的默认欢迎页面。
Tomcat的配置也非常灵活。
你可以通过编辑conf目录下的server.xml文件来配置Tomcat的各种参数,如端口号、连接池大小等。
另外,Tomcat还提供了一个叫做context.xml的文件,用于配置Web应用程序的上下文环境,包括数据库连接、资源引用等。
接下来,我们来介绍一下Tomcat的部署。
通常情况下,你可以把你的Java Web应用程序打包成一个war文件,然后将该文件放置在Tomcat的webapps目录下。
Tomcat会自动检测到新的war文件,并将其解压到一个文件夹中,使得你的Web应用程序可以通过http://localhost:8080/yourapp的方式访问。
Tomcat还提供了一些管理工具,方便你对Tomcat进行管理和监控。
其中最常用的是Tomcat Manager应用程序,它可以通过http://localhost:8080/manager页面访问。
通过Tomcat Manager,你可以部署新的Web应用程序、重新加载已有的应用程序、查看应用程序的状态等。
此外,Tomcat还支持集群和负载均衡。
当你需要提供更高的性能和可用性时,你可以将多个Tomcat服务器组成一个集群。
解析Tomcat的启动脚本--startup.bat
解析Tomcat的启动脚本--startup.bat 概述我们通常使⽤ Tomcat 中的 startup.bat 来启动 Tomcat. 但是这其中⼲了⼀些什么事呢?⼤家都知道⼀个 Java 程序需要启动的话, 肯定需要 main ⽅法, 那么这个 main ⽅法在哪呢?Tomcat 脚本中⼜是配置了⼀些什么参数呢, 什么情况下 Tomcat 会启动失败呢?带着⼀些列的疑问我们来分析 Tomcat 的三个最重要的启动脚本:startup.batcatalina.batsetclasspath.batstartup.bat 脚本该脚本主要做了以下⼏件事:设置 CATALINA_HOME 环境变量的值找到 catalina.bat 脚本调⽤ catalina.bat 脚本, 并把参数传过去贴出简化版本的 startup.bat 脚本的内容@echo offrem 执⾏这个命令之后, 增加或者改动的环境变量只限于匹配到 endlocal 命令或者到达⽂件末尾.setlocalrem 假设 CATALINA_HOME 环境变量没有定义rem 取当前⽬录的路径值, 赋给 CURRENT_DIR 变量, 就是 ./apache-tomcat-x.x.xx/binset "CURRENT_DIR=%cd%"rem 如果 CATALINA_HOME 变量值不是 "" 的话, 调到 gotHome 标签处if not "%CATALINA_HOME%" == "" goto gotHomerem 如果 CATALINA_HOME 是 "" 的话, 设置 CATALINA_HOME 变量值为当前⽬录的路径值(./apache-tomcat-x.x.xx/bin) set "CATALINA_HOME=%CURRENT_DIR%"rem 判断当前路径下的是否有 bin\catalina.bat, 也就是 ./apache-tomcat-x.x.xx/bin/bin/catalina.batrem 如果存在的话, 直接调到 okHome 标签处, 显然是不存在的if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHomerem 不存在的话, CATALINA_HOME 取上级⽬录的值, 也就是(./apache-tomcat-x.x.xx/)cd ..set "CATALINA_HOME=%cd%"rem 进⼊ CURRENT_DIR(./apache-tomcat-x.x.xx/bin)cd "%CURRENT_DIR%":gotHomerem 通过上⾯的设置, CATALINA_HOME 的值已经是: ./apache-tomcat-x.x.xx/rem 所以整理是可以找到 catalina.bat 脚本的, 直接调到 okHome 标签处if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHomeecho The CATALINA_HOME environment variable is not defined correctlyecho This environment variable is needed to run this programgoto end:okHomerem 设置 EXECUTABLE 变量指向为 catalina.bat 脚本set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"rem 检查⽬标可执⾏⽂件(catalina.bat)是否存在, 通常情况下是存在的, 直接调到 okExec 标签处rem 如果不存在的话, 直接退出. 启动 Tomcat 结束if exist "%EXECUTABLE%" goto okExececho Cannot find "%EXECUTABLE%"echo This file is needed to run this programgoto end:okExecrem 获取剩余的没有⽤ shift 取出来的命令⾏参数, 并保存它们在 CMD_LINE_ARGSset CMD_LINE_ARGS=:setArgsrem 如果第⼀个命令⾏参数是空的话, 跳到 doneSetArgs 标签处rem "%1" : 表⽰执⾏命令之后的第⼀个参数if ""%1""=="""" goto doneSetArgsrem 第⼀个参数不是空的话, 拼接到 CMD_LINE_ARGS 变量set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1rem 这个命令可以⾃⾏百度shiftgoto setArgs:doneSetArgsrem 上⾯设置了 EXECUTABLE 变量的值是指向了 catalina.bat 脚本, 这个利⽤ call 命令执⾏调⽤, 并把参数传进去rem 接下来, 咱们看 catalina.bat 脚本的内容rem 完整的命令: ./apache-tomcat-x.x.xx/bin/catalina.bat startcall "%EXECUTABLE%" start %CMD_LINE_ARGS%:end要想理解脚本中的⼀些命令, ⾸先来了解⼀下常⽤的命令(我们⽤的 Window 版的)rem : 该命令后的代码不会被执⾏, 相当于注释@echo off : 关闭命令的显⽰, 如果没有设置, 执⾏了哪些命令都会显⽰出来echo : 输出后⾯的内容setlocal : 执⾏这个命令之后, 增加或者改动的环境变量的作⽤范围只限于匹配到 endlocal 命令或者到达⽂件末尾.set : 设置⼀个变量:xxx : 定义⼀个标签goto : 跳转到制定的标签处call : 执⾏命令我们来⼀⾏⾏分析 startup.bat 脚本set "CURRENT_DIR=%cd%"%cd% : 表⽰⽂件所在的⽬录的路径如果我们解压的 Tomcat 所在的⽬录为 D:/apache-tomcat-x.x.x/ . 因为 startup.bat 命令在 bin ⽬录下, 所以此时 %cd% 表⽰的⽬录是 D:/apache-tomcat-x.x.x/binif not "%CATALINA_HOME%" == "" goto gotHome我们通常情况下不会配置 CATALINA_HOME 这个环境变量的, 所以这⾥不会调到 gotHome 标签处.set "CATALINA_HOME=%CURRENT_DIR%"直接把当前⽬录假设为 CATALINA_HOME 的值if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome然后通过固定的格式来判断⼀下是否有 catalina.bat 脚本, 当然这⾥是肯定不会存在的, 因为 CATALINA_HOME = D:/apache-tomcat-x.x.x/bincd ..set "CATALINA_HOME=%cd%"因为 Tomcat 的⽬录格式是固定的, 所以这⾥直接进⼊上级⽬录(cd ..), 然后设置 CATALINA_HOME 的值为上级⽬录(D:/apache-tomcat-x.x.x ).if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHomeecho The CATALINA_HOME environment variable is not defined correctlyecho This environment variable is needed to run this programgoto end继续往下看, 这⾥⼜⼀次判断了⼀下 catalina.bat 在这样的⽬录结构是是否能找到, 如果我们解压完 Tomcat 后, 把 startup.bat放在⾮ Tomcat 的 bin ⽬录下之后, 这⾥是找不到的, 就直接 goto end, 退出 Tomcat 的启动.好了, 这⾥我们直接调到 okHome 标签处.:okHomeset "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"好了, 这⾥很简单, 设置⼀个 EXECUTABLE 变量的值指向 catalina.bat 脚本.if exist "%EXECUTABLE%" goto okExececho Cannot find "%EXECUTABLE%"echo This file is needed to run this programgoto end⼜⼀次的检查了⼀下这个脚本是否存在, 存在的话, 直接调到 okExec 标签处, 可以执⾏了.如果没有通过检查的话, 依旧退出启动, 并打印错误信息.:okExecset CMD_LINE_ARGS=:setArgsif ""%1""=="""" goto doneSetArgsset CMD_LINE_ARGS=%CMD_LINE_ARGS% %1shiftgoto setArgs先设置了⼀个 CMD_LINE_ARGS 变量, 并且其值暂且为空这⾥出现了⼀个 ""%1""=="""", 拆开看就是判断 "%1" 是否等于 "". 那么 "%1" ⼜是什么呢?这是 window 批处理的⼀个语法, 表⽰的是执⾏命令之后的第⼀个参数, 对于这⾥, 我们并没有传递什么参数, 所以这⾥的 "%1"是 ""(空).直接跳转到 doneSetArgs 标签处.如果不是空的话, 就拼在后⾯呗.这⾥这个 shift 命令意思就是移除⼀个参数, 举个例⼦就知道了:@echo offecho "%1"shiftecho "%1"建⼀个 test.bat 批处理程序, 然后把上⾯代码复制进去, 在 cmd 中执⾏并给它两个参数下⾯是执⾏结果, 这⾥⼤家可以把 @echo off 去掉再执⾏, 验证⼀下这个命令的作⽤PS D:\> .\test Hello World"Hello""World"PS D:\>这样, ⼤家应该可以理解了.继续分析:doneSetArgscall "%EXECUTABLE%" start %CMD_LINE_ARGS%:end在上⾯设置了 EXECUTABLE = %CATALINA_HOME%\bin\catalina.bat , 所以这⾥实际上是调⽤了 catalina.bat 这个脚本, 然后传递⼀个 start 参数给它.如果我们在 cmd 中运⾏ startup.bat 并且后⾯跟着⼀些参数的话, 这⾥也⼀起传递过去了.这⾥实际上就是执⾏了: %CATALINA_HOME%\bin\catalina.bat start总结这个脚本还是挺简单的, ⽬的就是找到 catalina.bat 并调⽤它.以上就是本⽂的全部内容,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,下篇继续介绍Tomcat相关知识--《》,有兴趣的朋友可以看下。
linux关闭tomcat命令
linux关闭tomcat命令linux操作系统下tomcat服务器的启动和关闭可以通过相关命令执行,下面由小编为大家整理了linux关闭tomcat的相关命令,希望对大家有所帮助。
linux关闭tomcat命令关闭tomcat服务./shutdown.sh补充:Linux启动tomcat命令切换到tomcat主目录下的bin目录(cd usr/local/tomcat/bin)1,启动tomcat服务方式一:直接启动 ./startup.sh方式二:作为服务启动nohup ./startup.sh &方式三:控制台动态输出方式启动 ./catalina.sh run解释:通过方式一、方式三启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也会立即停止,通过方式二可以作为linux服务一直运行通过方式一、方式二方式启动的tomcat,其日志会写到相应的日志文件中,而不能动态地查看tomcat控制台的输出信息与错误情况,通过方式三可以以控制台模式启动tomcat服务,直接看到程序运行时后台的控制台输出信息,不必每次都要很麻烦的打开catalina.out日志文件进行查看,这样便于跟踪查阅后台输出信息。
tomcat控制台信息包括log4j和System.out.println()等输出的信息。
2,tomcat运行时jvm内存分配⑴开发环境下在myeclipse中配置-Xms256m -Xmx512m -XX:NewSize=64m -XX:MaxNewSize=128m -XX:PermSize=512m -XX:MaxPermSize=512m⑵,线上环境(直接通过catalina或startup命令行的方式启动)①Linux下:catalina.sh# OS specific support. $var _must_ be set to either true or false.在该注释之后加下面一行JAVA_OPTS="-server -Xms256m -Xmx512m -XX:NewSize=64m -XX:MaxNewSize=128m -XX:PermSize=512m -XX:MaxPermSize=512m"②Windows下:cattalina.batrem Guess CATALINA_HOME if not defined 在该注释之后加下面一行set JAVA_OPTS=--Xms256m -Xmx512m -XX:NewSize=64m -XX:MaxNewSize=128m -XX:PermSize=512m -XX:MaxPermSize=512m3,在开发环境下分别为eclipse和tomcat指定JVM(JRE)Eclipse是一个普通的Java程序,因此必须有一个JRE做为运行环境。
tomcat 教程
tomcat 教程Tomcat是一个开源的、轻量级的、基于Java的Web服务器。
它是Apache软件基金会的一个项目,用于支持Java Servlet、JavaServer Pages(JSP)和Java WebSocket等技术。
Tomcat的安装和配置相对简单,下面将给出一些基本教程。
1. 下载和安装Tomcat首先,你需要从Apache Tomcat官网下载适合你操作系统的Tomcat版本。
下载完成后,解压缩文件到你选择的目录。
2. 环境变量配置在Windows操作系统中,需要设置JAVA_HOME环境变量,将其值设置为JDK的安装路径。
然后,在PATH环境变量中添加Tomcat的bin目录路径。
3. 启动Tomcat服务器进入Tomcat的bin目录,执行startup.bat(Windows)或startup.sh(Linux)文件,即可启动Tomcat服务器。
4. 配置TomcatTomcat的配置文件位于Tomcat安装目录下的conf文件夹中。
你可以编辑其中的server.xml文件,进行一些常用配置的修改,如端口号、虚拟主机、连接器等。
5. 部署Web应用在Tomcat的webapps目录下,创建一个新的文件夹,将你开发的Web应用程序放入其中。
确保你的应用程序有一个适当的目录结构和正确的部署描述符(如web.xml文件)。
6. 访问Web应用通过浏览器输入"http://localhost:8080/你的应用名称",即可访问你部署的Web应用程序。
7. 关闭Tomcat服务器在Tomcat的bin目录下,执行shutdown.bat(Windows)或shutdown.sh(Linux)文件,即可关闭Tomcat服务器。
以上是Tomcat的基本教程,通过学习和实践,你将能够更好地理解和使用Tomcat服务器。
详细的配置和功能可以在官方文档中找到,希望这个教程能够帮到你。
Shell一键安装脚本(jdk mysql tomcat)
前段时间在客户那边做一个web应用项目,我负责的是项目的镜像版数据导入导出以及将应用打成安装包。
Windows版本的安装包直接使用了inno setup将应用及所需软件压成exe文件。
Linux版本当时是把应用及软件交给了客户,并写了安装步骤文档,但是客户不满意,希望做成类似Windows版那样的只需要下一步下一步就可以安装完应用及软件,于是我就整理了一个简单的shell脚本。
安装脚本所需文件(与shell脚本文件在同一目录下)medical.zipInstall.zdt(非必须)medical.tar.gzmedical.tar.gz包内包含:apache-tomcat.tar.gzMySQL-client-5.5.31-2.rhel5.i386.rpmMySQL-server-5.5.31-2.rhel5.i386.rpmjdk-6u29-linux-i586-rpm.binf默认安装位置:JDK默认安装路径为/usr/java/ 下MySQL默认安装路径为/usr/share/mysql/ 下Tomcat默认安装路径为/usr/tomcat-medical/ 下#!/bin/bash//设置脚本中所需命令的执行路径PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH// $? 是取得上面执行命令的返回值,一般正确为0,错误为1if [ "$?" != 0 ] ;then//echo 为输出到屏幕echo "Please check your need software"//exit 0 为强制终止脚本exit 0fi// 声明回滚函数(作用是删除解压出来的文件)rollback(){rm -rf apache-tomcat.tar.gzrm -rf MySQL-client-5.5.31-2.rhel5.i386.rpmrm -rf MySQL-server-5.5.31-2.rhel5.i386.rpmrm -rf jdk-6u29-linux-i586-rpm.binrm -rf f}echo "Please choose to install or uninstall? (Installation: 1 / Uninstall: 0)" //接收键盘输入,并把输入的值存放在userinput变量中read userinput//判断变量的值if [ "$userinput" == '1' ] ;then//判断文件是否存在if [ ! -e medical.tar.gz ] ;thenecho "I cann't find medical.tar.gz file."exit 0else//存在则赋权并解压chmod 755 medical.tar.gztar zxvf medical.tar.gzfi################################### Verify ################################# //判断本机是否安装了jdkrpm -qa | grep jdkif [ "$?" == 0 ] ;thenecho "Already installed JDK, please uninstall!"rollback;exit 0fi//判断8080端口是否被占用netstat -apn | grep 8080if [ "$?" == 0 ] ;thenecho "8080 port is occupied!"rollback;exit 0fi//判断本机是否安装了mysqlrpm -qa | grep -i mysqlif [ "$?" == 0 ] ;thenecho "The system has been installed MySQL.Please run the uninstall!" rollback;exit 0fi//判断目录是否已存在if [ -d /usr/tomcat-medical ] ;thenecho "/usr/tomcat-medical Directory exists"rollback;exit 0fi//判断3306端口是否被占用netstat -apn | grep 3306if [ "$?" == 0 ] ;thenecho "3306 port is occupied"rollback;exit 0fi##################################### JDK ###################################//赋权并安装jdkchmod 755 jdk-6u29-linux-i586-rpm.bin./jdk-6u29-linux-i586-rpm.bin################################################################################# ######//rpm包的jdk安装完成会自动生成java/jdk**** 的文件夹,判断是否生成了jdk文件夹if [ ! -d java/jdk1.6* ] ;thenecho "I cann't find JDK directory."exit 0fi############################## Environment Variables ########################//将一段文本追加到指定文件尾部(写入环境变量)cat >> /etc/profile << EFFJAVA_HOME=/usr/java/jdk1.6.0_29JRE_HOME=\$JAVA_HOME/jreCLASSPATH=:\$JAVA_HOME/lib:\$JRE_HOME/libPATH=\$JAVA_HOME:/bin:\$JRE_HOME/bin:\$PATHexport JAVA_HOME JRE_HOME CLASSPATH PATHEFF//使环境变量立即生效source /etc/profile################################################################################# ######//判断环境变量是否已经生效java -versionif [ "$?" != 0 ] ;thenecho "I cann't set java path."exit 0fi####################### Delete JDK Installation file ########################rm -rf jdk-6u29-linux-i586.rpmrm -rf sun-javadb*################################# MySQL ##################################### //赋权并安装mysqlchmod 755 MySQL-server-5.5.31-2.rhel5.i386.rpmrpm -ivh MySQL-server-5.5.31-2.rhel5.i386.rpm################### Copy MySQL configuration file ###########################//将一份已经准备好的配置文件替换mysql现有配置文件chmod 755 fcp f /usr/share/mysql/fcp f /etc/f//启动或重启mysqlnetstat -apn | grep 3306if [ "$?" != 0 ] ;thenservice mysql startelseservice mysql restartfi//判断mysql是否启动成功netstat -apn | grep 3306if [ "$?" != 0 ] ;thenecho "MySQL service failed to start!"rollback;exit 0fi//安装mysql用户端chmod 755 MySQL-client-5.5.31-2.rhel5.i386.rpmrpm -ivh MySQL-client-5.5.31-2.rhel5.i386.rpm################################ Tomcat ################################### //赋权并解压tomcatchmod 755 apache-tomcat*.tar*tar zxvf apache-tomcat*.tar*mv apache-tomcat-6.0.32/ /usr/tomcat-medical/################################ Medical ################################### //赋权并解压应用到tomcat/webapps目录下chmod 755 medical.zipunzip medical.zip -d /usr/tomcat-medical/webapps///判断当前目录下是否存在Install.zdt文件,存在则copy文件到指定目录下if [ -e Install.zdt ] ;thencp Install.zdt /usr/tomcat-medical/webapps/medical/WEB-INF/data/installer/fi########################### Change Password #################################//等待5秒sleep 5//mysql默认密码为空,修改mysql密码mysqladmin flush-privileges password '10301'########################## Environment Variables #########################//环境变量cat >> /etc/profile << TTDTOMCAT_HOME=/usr/tomcat-medical/PATH=\$PATH:\$TOMCAT_HOME/bin/:/usr/local/apache2/bin:export JAVA_HOME JRE_HOME CLASSPATH PATH TOMCAT_HOMETTDsource /etc/profile################################################################################# ####//启动tomcatsh /usr/tomcat-medical/bin/startup.sh//这里延迟5秒等待tomcat启动完成sleep 5//判断tomcat状态curl 127.0.0.1:8080 | grep "Thanks for using Tomcat"if [ "$?" != 0 ] ;thenecho "I think install tomcat is unfinished ."rollback;exit 0firollback;######################## Auto Start Up Services ############################//把tomcat启动脚本加入rc.local文件中实现开机自动启动cat >> /etc/rc.local << ASU/usr/tomcat-medical/bin/startup.shASU//设置mysql服务开机自动启动chkconfig --add mysql################################################################################# ####//如果用户输入0的情况下执行卸载程序elif [ "$userinput" == '0' ] ;thenecho "Uninstalling Tomcat......"netstat -apn | grep 8080if [ "$?" == 0 ] ;thensh /usr/tomcat-medical/bin/shutdown.shfirm -rf /usr/tomcat-medical/echo "Uninstalling JDK......"rpm -e jdk-1.6.0_29-fcs.i586echo "Uninstalling MySQL......"netstat -apn | grep 3306if [ "$?" == 0 ] ;thenservice mysql stopfirpm -e MySQL-client-5.5.31-2.rhel5.i386rpm -e MySQL-server-5.5.31-2.rhel5.i386echo "Uninstall is complete please modify environment variables." else//如果用户输入的不是1或0则执行这里echo "You can only enter 1 or 0."fi。
linux下启动tomcat服务的命令
linux下启动tomcat服务的命令
Linux下tomcat服务的启动、关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/local/tomcat/bin)1,启动tomcat服务
方式一:直接启动 ./startup.sh
方式二:作为服务启动 nohup ./startup.sh &
方式三:控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务解释:
通过方式一、方式三启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也会立即停止,通过方式二可以作为linux服务一直运行
通过方式一、方式二方式启动的tomcat,其日志会写到相应的日志文件中,而不能动态地查看tomcat控制台的输出信息与错误情况,通过方式三可以以控制台模式启动tomcat服务,
直接看到程序运行时后台的控制台输出信息,不必每次都要很麻烦的打开catalina.out日志文件进行查看,这样便于跟踪查阅后台输出信息。
tomcat控制台信息包括log4j和System.out.println()等输出的信息。
2,关闭tomcat服务
./shutdown.sh。
Linux下配置tomcat开机自启动
Linux下配置tomcat开机⾃启动Linux下配置tomcat开机⾃启动1.配置JAVA环境$ vim /etc/profile插⼊下⽅代码:# java安装地址export JAVA_HOME=/usr/local/apps/jdk1.8# bin⽬录地址export JAVA_BIN=/usr/local/apps/jdk1.8/binexport PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOME JAVA_BIN PATH CLASSPATH2.验证启动tomcat进⼊tomcat中的bin⽬录,并输⼊./startup.sh 屏幕输出如下说明tomcat已启动3.配置tomcat开机⾃启动1. cd /etc/rc.d/init.d2. vim tomcat3. 粘贴下⾯代码保存4. 设置权限 chmod 777 /etc/rc.d/init.d/tomcat5. 设置开机⾃启动 sudo chkconfig rtlsmgr on6. 验证:重启服务器访问#!/bin/sh# chkconfig: 345 99 10# description: Auto-starts tomcat# /etc/init.d/tomcat# Tomcat auto-start# Source function library.#. /etc/init.d/functions# source networking configuration.#. /etc/sysconfig/networkexport JAVA_HOME=/usr/local/apps/jdk1.8export JRE_HOME=$JAVA_HOME/jreexport PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.# tomcat安装地址export CATALINA_HOME=/usr/local/apps/tomcatcase "$1" instart)sleep 30${CATALINA_HOME}/bin/startup.shexit 0;;stop)${CATALINA_HOME}/bin/shutdown.shexit 0;;debug)${CATALINA_HOME}/bin/shutdown.sh${CATALINA_HOME}/bin/catalina.sh runexit 0;;force-reload|restart)${CATALINA_HOME}/bin/startup.sh${CATALINA_HOME}/bin/shutdown.shexit 0;;*)echo "Usage: /etc/rc.d/init.d/tomcat{start|stop|restart|force-reload|debug}" exit 1;;esacexit 04.以服务⽅式启动service tomcat start 启动service tomcat restart 重启service tomcat stop 停⽌。
CentOS7增加tomcat启动、停止(使用systemctl进行配置)
CentOS7增加tomcat启动、停⽌(使⽤systemctl进⾏配置)1,centos7 使⽤ systemctl 替换了 service命令参考:redhat⽂档:https:///documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Services.html#sect-Managing_Services_with_systemd-Services-List查看全部服务命令:systemctl list-unit-files --type service查看服务systemctl status name.service启动服务systemctl start name.service停⽌服务systemctl stop name.service重启服务systemctl restart name.service增加开机启动systemctl enable name.service删除开机启动systemctl disable name.service其中.service 可以省略。
2,tomcat增加启动参数tomcat 需要增加⼀个pid⽂件在tomca/bin ⽬录下⾯,增加 setenv.sh 配置,catalina.sh启动的时候会调⽤,同时配置java内存参数。
复制代码代码如下:#add tomcat pidCATALINA_PID="$CATALINA_BASE/tomcat.pid"#add java optsJAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m" 3,增加tomcat.service在/usr/lib/systemd/system⽬录下增加tomcat.service,⽬录必须是绝对⽬录。
tomcat基本操作
tomcat基本操作
1. 启动Tomcat:进入Tomcat的bin目录,执行startup.bat (Windows)或startup.sh(Linux)脚本;
2. 关闭Tomcat:进入Tomcat的bin目录,执行shutdown.bat (Windows)或shutdown.sh(Linux)脚本;
3. 部署一个Web应用程序:将具有.war文件扩展名的Web应用程序文件复制到$CATALINA_HOME/webapps目录中,然后等待Tomcat启动自动解压缩并部署;
4. 卸载一个Web应用程序:删除
$CATALINA_HOME/webapps目录中具有相应应用程序文件夹名称的文件夹;
5. 查找Tomcat版本号:进入Tomcat的bin目录,运行version.bat(Windows)或version.sh(Linux)脚本;
6. 查看运行时日志:进入Tomcat的logs目录,并查看各个日志文件;
7. 修改Tomcat端口号:修改
$CATALINA_HOME/conf/server.xml文件中的Port属性;8. 配置Tomcat环境变量:将$CATALINA_HOME/bin添加到系统环境变量中;
9. 配置Tomcat的JVM参数:修改
$CATALINA_HOME/bin/catalina.sh(Linux)或catalina.bat (Windows)文件;
10. 配置Tomcat的安全:修改
$CATALINA_HOME/conf/tomcat-users.xml文件。
tomcat重启shell脚本
#!/bin/bash#kill and reboot apache-tomcat-6.0.35 pid# 定义环境变量PATH=/usr/local/java/bin:/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin: /bin:/usr/bin:/home/cplatform/bin:/sbin:/usr/sbin/INPUTRC=/etc/inputrcexport JAVA_HOME=/usr/local/javaexport CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jarexport PATH#export PATH=$PATH:$JAVA_HOME/bincurdate=`date +%Y-%m-%d`nowtime=`date`tlog1="/home/cplatform/program/web/apache-tomcat-6.0.35/logs/localhost.$curdate. log"tlog2="/home/cplatform/program/web/apache-tomcat-6.0.35/logs/localhost.log"tlog3="/home/cplatform/program/web/apache-tomcat-6.0.35/logs/catalina.out" logdir="/home/cplatform/program/web/apache-tomcat-6.0.35/logs"exdir="/home/cplatform/program/web/apache-tomcat-6.0.35/bin/" TomcatMonitorLog=/home/cplatform/program/web/tom_restart.logStartTomcat=/home/cplatform/program/web/apache-tomcat-6.0.35/bin/startup.sh Monitor(){pl=`ps auwx | grep "apache-tomcat-6.0.35" | grep -v "grep" | awk '{print $2}'` echo "### nowtime is $nowtime ###"echo "### current date is $curdate ###"echo "tomcat id $pl"echo "tomcat-6.0.35 Id list :$pl"echo "####### log dir display #######"echo "`ls -lrth $logdir` "echo "########tomcat-6.0.35 logs ########"echo $tlog3echo $tlog2echo $tlog1cd $logdirecho "#######large log display #######"larglogs=`find -type f -size +2000M | sed s"/\.\///g"`;echo $larglogs#if [ -f $larglogs ]; thenif [ -n "$larglogs" ] ;thenfor pid in ${pl}{cd /home/cplatform/program/web/apache-tomcat-6.0.35/bin/cd $exdir#/home/cplatform/program/web/apache-tomcat-6.0.35/bin/shutdown.shkill -9 $pidecho "KILL $pid:"echo "now service stop success"}sleep 30for dlog in ${larglogs}{cd $logdirrm -f $dlogecho "delete largelog $dlog success"}sleep 30pl=`ps auwx | grep "apache-tomcat-6.0.35" | grep -v "grep" | awk '{print $2}'` if [ "$pl" = "" ]then{echo "apache-tomcat-6.0.35 pid is not alive"cd /home/cplatform/program/web/apache-tomcat-6.0.35/bin/cd $exdir#/home/cplatform/program/web/apache-tomcat-6.0.35/bin/startup.sh & $StartTomcatecho "now service start success"echo "tomcat id $pl"}elsefor pid in ${pl}{kill -9 $pidecho "KILL $pid:"#/home/cplatform/program/web/apache-tomcat-6.0.35/bin/shutdown.shecho "service stop success1"}sleep 45cd /home/cplatform/program/web/apache-tomcat-6.0.35/bin/cd $exdir#/home/cplatform/program/web/apache-tomcat-6.0.35/bin/startup.sh & $StartTomcatecho "service start success"echo "tomcat id $pl"fielse echo "no larglogs"fipl=`ps auwx | grep "apache-tomcat-6.0.35" | grep -v "grep" | awk '{print $2}'` #监控tomcat进程存在if [ "$pl" = "" ]then{echo "apache-tomcat-6.0.35 pid does not exist"cd /home/cplatform/program/web/apache-tomcat-6.0.35/bin/cd $exdir#/home/cplatform/program/web/apache-tomcat-6.0.35/bin/startup.sh & $StartTomcatecho "service start success now"echo "tomcat id $pl"}elsepl=`ps auwx | grep "apache-tomcat-6.0.35" | grep -v "grep" | awk '{print $2}'` echo "### nowtime is $nowtime ###"echo "tomcat id $pl"echo "tomcat exists"fi}Monitor>>$TomcatMonitorLog。
远程服务器Xshell的使用--重启服务器操作,查看端口和开启端口以及linux的常用命令
远程服务器Xshell的使⽤--重启服务器操作,查看端⼝和开启端⼝以及linux的常⽤命令⼀、重启服务1. 查询相应服务的进程id(在列表中找到相应进程的id)$ ps -ef | grep java2. kill 相应的id(关闭相应进程)kill -9 xxxx //xxxx表⽰进程id3. 开启jar包对应的服务,并输出⽇志到对应的⽂件中$ nohup java -jar xxx.jar >> log.text &此处开启服务是永久开启,相应的关闭也需要⼿动关闭(即步骤1和2)注意:此步骤完成后该服务器即可访问,可以根据⾃⼰的端⼝配置进⾏验证(别忘记⼿动开启⾃⼰所购买的云服务器的端⼝)4. 查询当前所开的服务进程,验证步骤3是否成功$ ps -ef | grep java如果成功开启服务,可以看到步骤3 的 jar包已经在进程列表中5. 查看⽇志$ tail -200f log.txt⼩技巧: Xftp 和 Xshell 搭配使⽤,可以在Xftp中进⼊到存放jar包的⽬录下,此时通过Xftp打开Xshell,即可默认到该jar包的⽬录下否则执⾏步骤3需要找到当前的jar包⽬录下,才能进⾏命令操作⼆、查看端⼝的使⽤情况netstat -ntlp | grep 3306 // 查看3306端⼝的使⽤情况netstat -ntlp // 查看所有被占⽤端⼝注意:看到 LISTEN 的状态,表⽰该端⼝被占⽤⾮root⽤户,⽆法看到 PID/Program name 内容(⽐如查看3306端⼝时,此栏显⽰的就是: 1527/mysqld)三、开启端⼝操作1. 先查看端⼝netstat -ntlp // 查看所有开启的端⼝,以及占⽤的程序和PIDfirewall-cmd --list-ports // 会显⽰所有已开启的端⼝2. 开启端⼝// 打开单个端⼝firewall-cmd --zone=public --add-port=7080/tcp --permanent// 打开多个端⼝firewall-cmd --zone=public --add-port=20000-29999/tcp --permanent注意: --permanent 表⽰永久⽣效,不加为单次有效(重启失效)3. 查看端⼝是否开启firewall-cmd --zone=public --query-port=7080/tcp结果会显⽰: yes 或 no ,前者表⽰7080端⼝已开启,后者表⽰未开启4,关闭端⼝firewall-cmd --zone= public --remove-port=7080/tcp --permanent// 类似开启端⼝命令四、linux常⽤命令1. 显⽰⽬录结构: lslsls -a // 查看⽬录下所有⽂件,包括. 和 ..ls -l // 查看⽬录下所有⽂件的详细信息,可以简写为:llls -t // ⽂件列表反向排序ls /home/ // 查看指定⽬录下的⽂件2. 切换⽬录: cdcd // 当前⽤户主⽬录cd ~ // 当前⽤户主⽬录,同上cd / // 根⽬录cd - // 上⼀次访问的⽬录cd .. // 上⼀级⽬录3. 显⽰当前⽬录完整路径: pwd4. 新建⽂件夹(创建新⽬录): mkdirmkdir // 创建⽬录mkdir dirname // 当前⽬录下创建⽂件夹,命名为dirnamemkdir /root/b // 在根⽬录下的root下创建⽬录b删除⽬录: rmdirrmdir dirname // 同上,也可删除指定⽬录下的⽂件夹(⽬录)5. 新建⽂件: touchtouch 1.txt // 在当前⽬录创建⼀个⽂件1.txt复制⽂件: cpcp 1.txt 2.txt //即将1.txt 复制到 2.txt,也可以复制⽬录,或复制某个⽂件到某个⽬录下移动⽂件: mv删除⽂件: rm6. 查找⽂件或⽬录find /home/ -name 'test*' //查找home⽬录下的⽂件开头是test的⽂件和⽂件夹,*是通配符。
Tomcat启动分析以及如何启动
1 - Tomcat Server的组成部分1.1 - ServerA Server element represents the entire Catalina servlet container. (Singleton)1.2 - ServiceA Service element represents the combination of one or more Connector components that share a single EngineService是这样一个集合:它由一个或者多个Connector组成,以及一个Engine,负责处理所有Connector 所获得的客户请求1.3 - Connector一个Connector将在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回客户TOMCAT有两个典型的Connector,一个直接侦听来自browser的http请求,一个侦听来自其它WebServer 的请求Coyote Http/1.1 Connector 在端口8080处侦听来自客户browser的http请求Coyote JK2 Connector 在端口8009处侦听来自其它WebServer(Apache)的servlet/jsp代理请求1.4 - EngineThe Engine element represents the entire request processing machinery associated with a particular ServiceIt receives and processes all requests from one or more Connectorsand returns the completed response to the Connector for ultimate transmission back to the client Engine下可以配置多个虚拟主机Virtual Host,每个虚拟主机都有一个域名当Engine获得一个请求时,它把该请求匹配到某个Host上,然后把该请求交给该Host来处理Engine有一个默认虚拟主机,当请求无法匹配到任何一个Host上的时候,将交给该默认Host来处理1.5 - Host代表一个Virtual Host,虚拟主机,每个虚拟主机和某个网络域名Domain Name相匹配每个虚拟主机下都可以部署(deploy)一个或者多个Web App,每个Web App对应于一个Context,有一个Context path当Host获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理匹配的方法是“最长匹配”,所以一个path==""的Context将成为该Host的默认Context所有无法和其它Context的路径名匹配的请求都将最终和该默认Context匹配1.6 - Context一个Context对应于一个Web Application,一个Web Application由一个或者多个Servlet组成Context在创建的时候将根据配置文件$CATALINA_HOME/conf/web.xml和$WEBAPP_HOME/WEB-INF/web.xml载入Servlet类当Context获得请求时,将在自己的映射表(mapping table)中寻找相匹配的Servlet类如果找到,则执行该类,获得请求的回应,并返回2 - Tomcat Server的结构图3 - 配置文件$CATALINA_HOME/conf/server.xml的说明该文件描述了如何启动Tomcat Server<!-----------------------------------------------------------------------------------------------><!-- 启动Server在端口8005处等待关闭命令如果接受到"SHUTDOWN"字符串则关闭服务器--><Server port="8005" shutdown="SHUTDOWN" debug="0"><!-- Listener ???目前没有看到这里--><ListenerclassName="org.apache.catalina.mbeans.ServerLifecycleListener"debug="0"/><ListenerclassName="org.apache.catalina.mbeans.GlobalResourcesLifecycleListene r" debug="0"/><!-- Global JNDI resources ???目前没有看到这里,先略去--><GlobalNamingResources>... ... ... ...</GlobalNamingResources><!-- Tomcat的Standalone ServiceService是一组Connector的集合它们共用一个Engine来处理所有Connector收到的请求--><Service name="Tomcat-Standalone"><!-- Coyote HTTP/1.1 ConnectorclassName : 该Connector的实现类是org.apache.coyote.tomcat4.CoyoteConnectorport : 在端口号8080处侦听来自客户browser的HTTP1.1请求minProcessors : 该Connector先创建5个线程等待客户请求,每个请求由一个线程负责maxProcessors : 当现有的线程不够服务客户请求时,若线程总数不足75个,则创建新线程来处理请求acceptCount : 当现有线程已经达到最大数75时,为客户请求排队当队列中请求数超过100时,后来的请求返回Connection refused错误redirectport : 当客户请求是https时,把该请求转发到端口8443去其它属性略--><Connector className="org.apache.coyote.tomcat4.CoyoteConnector"port="8080"minProcessors="5" maxProcessors="75" acceptCount="100" enableLookups="true"redirectPort="8443"debug="0"connectionTimeout="20000"useURIValidationHack="false"disableUploadTimeout="true" /><!-- Engine用来处理Connector收到的Http请求它将匹配请求和自己的虚拟主机,并把请求转交给对应的Host来处理默认虚拟主机是localhost--><Engine name="Standalone" defaultHost="localhost" debug="0"><!-- 日志类,目前没有看到,略去先 --><Logger className="org.apache.catalina.logger.FileLogger" .../> <!-- Realm,目前没有看到,略去先 --><RealmclassName="erDatabaseRealm" .../><!-- 虚拟主机localhostappBase : 该虚拟主机的根目录是webapps/它将匹配请求和自己的Context的路径,并把请求转交给对应的Context来处理--><Host name="localhost" debug="0" appBase="webapps"unpackWARs="true" autoDeploy="true"><!-- 日志类,目前没有看到,略去先 --><LoggerclassName="org.apache.catalina.logger.FileLogger" .../><!-- Context,对应于一个Web Apppath : 该Context的路径名是"",故该Context是该Host的默认ContextdocBase : 该Context的根目录是webapps/mycontext/--><Context path="" docBase="mycontext" debug="0"/><!-- 另外一个Context,路径名是/wsota --><Context path="/wsota" docBase="wsotaProject" debug="0"/></Host></Engine></Service></Server><!----------------------------------------------------------------------------------------------->4 - Context的部署配置文件web.xml的说明一个Context对应于一个Web App,每个Web App是由一个或者多个servlet组成的当一个Web App被初始化的时候,它将用自己的ClassLoader对象载入“部署配置文件web.xml”中定义的每个servlet类它首先载入在$CATALINA_HOME/conf/web.xml中部署的servlet类然后载入在自己的Web App根目录下的WEB-INF/web.xml中部署的servlet类web.xml文件有两部分:servlet类定义和servlet映射定义每个被载入的servlet类都有一个名字,且被填入该Context的映射表(mapping table)中,和某种URL PATTERN对应当该Context获得请求时,将查询mapping table,找到被请求的servlet,并执行以获得请求回应分析一下所有的Context共享的web.xml文件,在其中定义的servlet被所有的Web App载入<!-----------------------------------------------------------------------------------------------><web-app><!-- 概述:该文件是所有的WEB APP共用的部署配置文件,每当一个WEB APP被DEPLOY,该文件都将先被处理,然后才是WEB APP 自己的/WEB-INF/web.xml--><!-- +-------------------------+ --><!-- | servlet类定义部分 | --><!-- +-------------------------+ --><!-- DefaultServlet当用户的HTTP请求无法匹配任何一个servlet的时候,该servlet被执行URL PATTERN MAPPING : /--><servlet><servlet-name>default</servlet-name><servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class><init-param><param-name>debug</param-name><param-value>0</param-value></init-param><init-param><param-name>listings</param-name><param-value>true</param-value></init-param><load-on-startup>1</load-on-startup></servlet><!-- InvokerServlet处理一个WEB APP中的匿名servlet当一个servlet被编写并编译放入/WEB-INF/classes/中,却没有在/WEB-INF/web.xml中定义的时候该servlet被调用,把匿名servlet映射成/servlet/ClassName的形式 URL PATTERN MAPPING : /servlet/*--><servlet><servlet-name>invoker</servlet-name><servlet-class>org.apache.catalina.servlets.InvokerServlet</servlet-class><init-param><param-name>debug</param-name><param-value>0</param-value></init-param><load-on-startup>2</load-on-startup></servlet><!-- JspServlet当请求的是一个JSP页面的时候(*.jsp)该servlet被调用它是一个JSP编译器,将请求的JSP页面编译成为servlet再执行URL PATTERN MAPPING : *.jsp--><servlet><servlet-name>jsp</servlet-name><servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> <init-param><param-name>logVerbosityLevel</param-name><param-value>WARNING</param-value></init-param><load-on-startup>3</load-on-startup></servlet><!-- +---------------------------+ --><!-- | servlet映射定义部分 | --><!-- +---------------------------+ --><servlet-mapping><servlet-name>default</servlet-name><url-pattern>/</url-pattern></servlet-mapping><servlet-mapping><servlet-name>invoker</servlet-name><url-pattern>/servlet/*</url-pattern></servlet-mapping><servlet-mapping><servlet-name>jsp</servlet-name><url-pattern>*.jsp</url-pattern></servlet-mapping><!-- +------------------------+ --><!-- | 其它部分,略去先 | --><!-- +------------------------+ -->... ... ... ...</web-app><!----------------------------------------------------------------------------------------------->5 - Tomcat Server处理一个http请求的过程假设来自客户的请求为:http://localhost:8080/wsota/wsota_index.jsp1) 请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得2) Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应3) Engine获得请求localhost/wsota/wsota_index.jsp,匹配它所拥有的所有虚拟主机Host4) Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机)5) localhost Host获得请求/wsota/wsota_index.jsp,匹配它所拥有的所有Context6) Host匹配到路径为/wsota的Context(如果匹配不到就把该请求交给路径名为""的Context去处理)7) path="/wsota"的Context获得请求/wsota_index.jsp,在它的mapping table中寻找对应的servlet8) Context匹配到URL PATTERN为*.jsp的servlet,对应于JspServlet类9) 构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法10)Context把执行完了之后的HttpServletResponse对象返回给Host11)Host把HttpServletResponse对象返回给Engine12)Engine把HttpServletResponse对象返回给Connector13)Connector把HttpServletResponse对象返回有很多办法可以让Tomcat在系统启动的时候自动运行,我这里介绍两种方法,一种简单,另外一种复杂而专业。
Linux下两种自动启动Tomcat的方法
Linux下两种自动启动Tomcat的方法在Linux下,Tomcat可以作为一个守护进程来启动以及停止,这个必须借助于项目commons-daemon中的jsvc工具。
Tomcat安装完后就带有这个工具的源码{tomcat}/bin/jsvc.tar.gz。
按照下列命令安装这个工具:解压: tar zxvf jsvc.tar.gz配置: cd jsvc-srcchmod +x configure./configure --with-java=/usr/jdk编译: make检验: ./jsvc -help完成后是无法用chkconfig --add tomcat设置为自动启动,会显示错误信息:service tomcat does not support chkconfig ,需要修改脚本$CATALINA_HOME/bin/jsvc-src/native/Tomcat.sh,并cp到/etc/rc.d/init.d。
然后改名为tomcat 我的启动脚本如下(中间出现了几次问题,结果发现都是脚本的问题,所以一定要谨慎):tomcat.sh 文件内容:#!/bin/sh## Startup Script for Tomcat5## chkconfig: 345 87 13# description: Tomcat Daemon# processname: jsvc# pidfile: /var/run/jsvc.pid# config:## Source function library.. /etc/rc.d/init.d/functions#prog=tomcat## Small shell script to show how to start/stop Tomcat using jsvc# If you want to have Tomcat running on port 80 please modify the server.xml# file:## <!-- Define a non-SSL HTTP/1.1 Connector on port 80 --># <Connector className="org.apache.catalina.connector.http.HttpConnector"# port="80" minProcessors="5" maxProcessors="75"# enableLookups="true" redirectPort="8443"# acceptCount="10" debug="0" connectionTimeout="60000"/>## You need a developement version of Tomcat (Apache Tomcat/4.1-dev)## Adapt the following lines to your configurationJAVA_HOME=/usr/local/jdkCATALINA_HOME=/usr/local/tomcatDAEMON_HOME=$CATALINA_HOME/bin/jsvc-srcTOMCAT_USER=tomcatTMP_DIR=/var/tmpCATALINA_OPTS=CLASSPATH=$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar export JAVA_HOMEexport CATALINA_HOMEstart(){echo -n $"Starting $prog: "## Start Tomcat#$DAEMON_HOME/jsvc \-user $TOMCAT_USER \-home $JAVA_HOME \-Dcatalina.home=$CATALINA_HOME \-Djava.io.tmpdir=$TMP_DIR \-outfile $CATALINA_HOME/logs/catalina.out \-errfile '&1' \$CATALINA_OPTS \-cp $CLASSPATH \org.apache.catalina.startup.Bootstrap/usr/tomcat5/bin/startup.sh## To get a verbose JVM#-verbose \# To get a debug of jsvc.#-debug \RETVAL=$?[ $RETVAL = 0 ] && touch /var/lock/subsys/jsvc[ $RETVAL = 0 ] && echo_success || echo_failureechoreturn $RETVAL}stop(){echo -n $"Stopping $prog: "## Stop Tomcat#PID=`cat /var/run/jsvc.pid`kill $PID/usr/tomcat5/bin/shutdown.shRETVAL=$?[ $RETVAL = 0 ] && rm /var/lock/subsys/jsvc[ $RETVAL = 0 ] && echo_success || echo_failureechoreturn $RETVAL}case "$1" instart)start;;stop)stop;;restart|reload)stopstart;;*)echo "Usage $0 start/stop"exit 1;;esac接下来就是把这个脚本设置成系统启动时自动执行,系统关闭时自动停止,使用如下命令:chkconfig --add tomcat重新启动系统后可以启动的过程中看到Starting Tomcat ..... [OK]的信息,这样就完成设置过程。
linux下添加简单的开机自启动脚本
linux下添加简单的开机⾃启动脚本在linux的使⽤过程中,我们经常会碰到需要将某个⾃定义的应⽤程序设置为开机⾃启动以节省操作时间,这⾥提供两个设置开机⾃启动的⽅法。
注:博主使⽤的ubuntu-16.04进⾏实验,其它版本可能有偏差,但实现原理类似。
rc.local在rc.local脚本中添加开机⾃启动程序ubuntu在开机过程之后,会执⾏/etc/rc.local(注意/etc/init.d中也有个rc.local,不要弄混了)⽂件中的脚本程序,初始情况下,这个⽂件内容是这样的:downey@ubuntu:~$ cat /etc/rc.local#!/bin/sh -e## rc.local## This script is executed at the end of each multiuser runlevel.# Make sure that the script will "exit 0" on success or any other# value on error.## In order to enable or disable this script just change the execution# bits.## By default this script does nothing.并不包含其它内容,⽤户可以在⾥⾯添加需要开机执⾏的脚本命令,这⾥以diodon粘贴板⼯具为例,如果我要开机运⾏diodon进程,在⽂本中添加:downey@ubuntu:~$ cat /etc/rc.local#!/bin/sh -e## rc.local## This script is executed at the end of each multiuser runlevel.# Make sure that the script will "exit 0" on success or any other# value on error.## In order to enable or disable this script just change the execution# bits.## By default this script does nothing../usr/bin/diodon &exit 0看到这⾥有些盆友就要问了,为什么要在执⾏命令后⾯加&?在shell执⾏命令后加&是为了让应⽤程序在后台运⾏,rc.local也是⼀个脚本,主进程在运⾏这个脚本时必须能够返回,如果在这个脚本⾥⾯执⾏了⼀些死循环或者其他⽆法返回的任务,整个系统就很可能卡死在这⾥,⽆法启动,所以在这⾥运⾏的⽤户程序必须是能够返回或者本⾝就使⽤⼀些后台运⾏的进程。
tomcat_实现开机后台启动
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。
由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。
因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
目前最新版本是7.0。
工具/原料TomcatJre步骤/方法Tomcat的使用之前必须得Jre,至于是怎么装的,这个晚上的教程就和街上的白菜一样多,再次就不多说了,另外本文所说的tomcat是免安装版的。
当安装完成tomcat后,可以在tomcat的bin目录点击startup.bat启动tomcat 服务,这是在浏览器中输入http://localhost:8080,如果能够看到tomcat的首页tomcat便已经安装正确,便可以使用了。
但是这样启动的话有一个不好的地方就是任务栏会一直存在着一个dos的窗口,这个窗口便是tomcat的控制台,实时的输出tomcat的运行情况,便于查找一些存在者的错误;但更多的时候是不需要这个dos的窗口的而且需要每次都开启这个服务,很是麻烦。
现在开始为tomcat做到开机并后台运行,做到简洁方便。
首先打开tomcat的bin目录找到service.bat开始->运行->cmd将service.bat左键点击拖入到dos窗口,当然也可以把该地址写进去,然后按Enter,如图..如果按了之后出来的不是这样,那便是安装tomcat的那个路径错了,请检查。
成功之后在dos窗口键入service.bat install Tomcat 输完然后按Enter键,出现如下窗口,便成功了。
Tomcat的配置
Tomcat的配置
1.Tomcat的启动与停止 的启动与停止 2.如何修改 如何修改Tomcat的端口 如何修改 的端口 2.如何设置虚拟目录 如何设置虚拟目录 3.如何给 如何给Tomcat的管理员设置密码 如何给 的管理员设置密码 4.如何设置数据源和连接池 如何设置数据源和连接池
设置虚拟目录
在%TOMCAT_CAT%/conf/server.xml文件 文件 的适当位置(</host>标签前 加入如下代码: 标签前)加入如下代码 的适当位置 标签前 加入如下代码:
<Context path=“/YourSetName” docBase=“c:\YourSetPath” debug=“0”/>
2.在Web应用的 在 应用的web.xml文件中的 文件中的<web应用的 文件中的 app></web-app>标签内添加如下代码: 标签内添加如下代码: 标签内添加如下代码
<resource-ref> <description>DB Connection</description> <res-ref-name>myDataSource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
<! – 数据库连接 数据库连接URL-- > <parameter> <name>url</name> <value>jdbc:mysql://localhost/DATABASE_NAME?autoReconnec t=true</value> </parameter> <!– 数据库访问用户名 > 数据库访问用户名-<parameter> <name>username</name> <value>DB_USERNAME</value> </parameter> <!– 数据库访问密码 > 数据库访问密码-<parameter> <name>password</name> <value>DB_PASSWORD</value> </parameter>
Shell四种运行方式(启动方式)
Shell四种运⾏⽅式(启动⽅式)是⼀个应⽤程序,它的⼀端连接着内核,另⼀端连接着⽤户。
Shell 是⽤户和 Linux 系统沟通的桥梁,我们都是通过 Shell 来管理 Linux 系统。
我们可以直接使⽤ Shell,也可以输⼊⽤户名和密码后再使⽤ Shell;第⼀种叫做⾮登录式,第⼆种叫做登录式。
我们可以在 Shell 中⼀个个地输⼊命令并及时查看它们的输出结果,整个过程都在跟 Shell 不停地互动,这叫做交互式。
我们也可以运⾏⼀个⽂件,让所有命令批量化、⼀次性地执⾏,这叫做⾮交互式。
总起来说,Shell ⼀共有四种运⾏⽅式:交互式的登录 Shell;交互式的⾮登录 Shell;⾮交互式的登录 Shell;⾮交互式的⾮登录 Shell。
判断 Shell 是否是交互式判断是否为交互式 Shell 有两种简单的⽅法。
1) 查看变量-的值,如果值中包含了字母i,则表⽰交互式(interactive)。
【实例1】在 CentOS GNOME 桌⾯环境⾃带的终端下输出-的值:[]$ echo $-h i mBH包含了i,为交互式。
【实例2】在 Shell 脚本⽂件中输出-的值:[]$ cat test.sh#!/bin/bashecho $-[]$ bash ./test.shhB不包含i,为⾮交互式。
注意,必须在新进程中。
2) 查看变量PS1的值,如果⾮空,则为交互式,否则为⾮交互式,因为⾮交互式会清空该变量。
【实例1】在 CentOS GNOME 桌⾯环境⾃带的终端下输出 PS1 的值:[mozhiyan@localhost]$ echo $PS1[\u@\h \W]\$⾮空,为交互式。
【实例2】在 Shell 脚本⽂件中输出 PS1 的值:[]$ cat test.sh#!/bin/bashecho $PS1[]$ bash ./test.sh空值,为⾮交互式。
注意,必须在新进程中运⾏ Shell 脚本。
Linux系统怎么重启Tomcat服务方法详解
Linux系统怎么重启Tomcat服务方法详解Linux系统下tomcat服务的重启需要通过命令来解决。
下面由店铺为大家整理了Linux系统重启tomcat服务的方法详解,希望对大家有帮助!Linux系统重启tomcat服务的方法详解一在Linux系统下,重启Tomcat使用命令操作的!首先,进入T omcat下的bin目录cd /usr/local/tomcat/bin使用Tomcat关闭命令./shutdown.sh查看Tomcat是否以关闭ps -ef|grep java如果显示以下相似信息,说明Tomcat还没有关闭root 7010 1 0 Apr19 ? 00:30:13 /usr/local/java/bin/java-Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.pr operties-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m-XX:+DisableExplicitGC -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogMan ager-Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar-Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat-Djava.io.tmpdir=/usr/local/tomcat/temporg.apache.catalina.startup.Bootstrap start*如果你想直接干掉Tomcat,你可以使用kill命令,直接杀死Tomcat进程kill -9 7010然后继续查看Tomcat是否关闭ps -ef|grep java如果出现以下信息,则表示T omcat已经关闭root 7010 1 0 Apr19 ? 00:30:30 [java]最后,启动T omcat./startup.shLinux系统重启tomcat服务的方法详解二1. 进入linux系统下tomcat的bin目录,比如:cd /usr/local/apache-tomcat-7.0.42/bin2. 关闭一下tomcat服务,特别是已经启动的情况下,只不过有些异常./shutdown.sh3. 检查一下tomcat是否确实已经关闭ps -ef|grep java假如出现以下类似的提示,表示tomcat已经关闭root 30248 30113 0 10:00 pts/0 00:00:00 grep java4. 最后重新启动tomcat./startup.sh补充:Linux系统中重启Tomcat的一般步骤1、cd到tomcat的bin目录,执行./shutdown.sh。