tomcat系列-02-基础操作

[TOC]

声明

本文只是出于该系列文章知识点完整的目的,没啥技术含量。
或许只适合初学者,大神请绕路……

1 自带脚本介绍

在tomcat安装目录中的bin目录下有几个自带的脚本文件。
windows上是.bat批处理文件,linux下是.sh文件。

*.sh or *.bat desc
catalina.sh tomcat主要脚本,可用于tomcat启动、停止等
digest.sh 用于生成加密过的tomcat用户密码
tool-wrapper.sh 一般和digest脚本结合使用
service.bat.sh 在windows上以windows服务的方式安装或卸载tomcat
setclasspath.sh 设定tomcat的classpath等环境变量
shutdown.sh 相当于 catalina.sh stop
startup.sh 相当于 catalina.sh start
configtest.sh 配置文件测试脚本
version.sh 查看版本信息

1.1 catalina.sh | catalina.bat

catalina.sh <cmd>

cmd可用选项如下:

debug
    以debug模式启动
debug -security
    启用catalina.policy文件
jpda start
    以jpda(Java Platform Debugger Architecture)调试器的模式启动
run
    即使是在linux上,也不会将输出重定向到日志文件,就像和windows上(那个一直开着的黑窗口)一样的效果
run -security
start
    启动tomcat
start -security
stop n
    停止tomcat,最多有n秒的延迟来处理释放资源等的操作
stop
    相当于 stop 5
stop n -force
    停止tomcat,最多n秒延迟,n秒之后会强制kill掉tomcat
stop -force
    相当于 stop 5 --force
configtest
    检测配置文件${catalina.home}/conf/server.xml语法
version
    tomcat版本信息

1.2 digest.sh

CATALINA_HOME/bin/digest.[bat|sh] -a {algorithm} {cleartext-password}

    algorithm:sha,md2,md5

# 生成123的md5特征码
./digest.sh -a md5 123

2 tomcat环境变量

name default desc
CATALINA_HOME 安装目录 tomcat基本目录
CATALINA_BASE 安装目录 logging、work、conf等目录所在目录
CATALINA_OPTS 一般是传递JVM参数使用的,比如-Xmx256M
CATALINA_TMPDIR ${CATALINA_HOME}/temp tomcat临时文件目录
JAVA_HOME ……
JRE_HOME ……
JAVA_OPTS 传递JVM参数使用的,比如-Xmx256M
JPDA_TRANSPORT dt_socket JPDA调试器使用的传输协议
JPDA_ADDRESS 8000 制定和catalina.sh jpda start 一起使用的jpda地址
JSSE_HOME 指定用于https使用的Java Secure SocketsExtension的位置
CATALINA_PID 进程描述符位置

3 常见问题

3.1 查看tomcat是否正在运行

方法一:jps

Java Process Snapshot

[root@VM_15_242_centos bin]# jps
# 这个Bootstrap就是tomcat实例了
11905 Bootstrap
13630 Jps
[root@VM_15_242_centos bin]# 

方法二:netstat

[root@VM_15_242_centos bin]# netstat -tlnp | grep java
tcp        0      0 127.0.0.1:8005              0.0.0.0:*                   LISTEN      11905/java          
tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN      11905/java          

方法三:ps(progress snapshot)

[root@VM_15_242_centos bin]# ps aux | grep catalina.startup
#………………

[root@VM_15_242_centos bin]# ps -ef | grep java
………………

3.2 强行杀死tomcat进程

通过以上的几种方法都能获得tomcat进程的进程号。
直接kill即可。

3.3 配置tomcat远程登录

这个问题要是细说就麻烦了,想shiro、spring-security这种权限框架都有个类似于叫Realm的东西。

  • JDBCRealm
  • DataSourceRealm
  • JNDIRealm
  • UserDatabaseRealm
  • MemoryRealm
  • JAASRealm

具体的就不说了,这里指记录最简单最快速上手的配置:tomcat-user.xml

你的server.xml文件中应该有这么个配置:

<GlobalNamingResources>
    <Resource auth="Container" description="User database that can be updated and saved" 
    factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" 
    pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
</GlobalNamingResources>

在server.xml的某个Engine下,应该有类似以下的配置:

<Realm className="org.apache.catalina.realm.LockOutRealm">
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm" 
        resourceName="UserDatabase"/>
</Realm>

以上两处的配置由一个关键值为 UserDatabase 的关键属性关联。

所以只要修改了,tomcat-user.xml的配置,在用到它的Engine下都会生效。

所以,将tomcat-user.xml改成类似以下配置就行了:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
    <!-- 加上role和user就可以了
        具体的roles可取哪些值,看文档吧 
        另外,这种明文的也不怎么安全,
        只是为了快速配置,实际项目中不建议使用 -->
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <user username="tomcat" password="123=" roles="manager-gui,manager-script"/>
</tomcat-users>

另外,记得重启tomcat才能重读配置文件生效。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,258评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,335评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,225评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,126评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,140评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,098评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,018评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,857评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,298评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,518评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,400评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,993评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,638评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,661评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容