美文网首页
tomcat系列-02-基础操作

tomcat系列-02-基础操作

作者: hylexus | 来源:发表于2016-11-14 22:11 被阅读149次

    [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才能重读配置文件生效。

    相关文章

      网友评论

          本文标题:tomcat系列-02-基础操作

          本文链接:https://www.haomeiwen.com/subject/xllkpttx.html