美文网首页
mac安装配置Tomcat笔记

mac安装配置Tomcat笔记

作者: nextliving | 来源:发表于2018-04-22 14:58 被阅读110次

    最近进行JavaEE开发,服务器选择了免费并且开源的Tomcat,本文是基于安装过程中所有操作所做的笔记。

    下载Tomcat

    Tomcat由apache基金会托管,官网地址是http://tomcat.apache.org/ ,在左边栏的Download下选择对应的版本(比如Tomcat 9),然后在Binary Distributions->core,选择zip或者tar.gz中的任意一个下载即可,下载完成后解压,我解压得到的根目录名是apache-tomcat-9.0.0.M10。

    在/Library下新建文件夹,名为Tomcat,将刚刚解压的文件拷贝到Tomcat下,执行以下命令:

    $ cd /Library/Tomcat/apache-tomcat-9.0.0.M10/bin

    然后执行

    $ ./start.sh

    但是终端输出以下信息:

    $ -bash: ./startup.sh: Permission denied

    这是因为Tomcat的脚本命令执行需要权限,所以要先给Tomcat权限。

    Tomcat权限

    我们知道,linux下文件的权限为:可读4,可写2,可执行1。现在给脚本分配权限:

    `$ sudo chmod 755 /Library/Tomcat/apache-tomcat-9.0.0.M10/bin/*.sh

    `

    使用*匹配bin目录下的所有脚本文件。

    再重新执行

    
    $ cd /Library/Tomcat/apache-tomcat-9.0.0.M10/bin 
    
    $ ./start.sh
    
    

    可以看到终端输出

    
    Using CATALINA_BASE:  /Library/Tomcat/apache-tomcat-9.0.0.M10
    
    Using CATALINA_HOME:  /Library/Tomcat/apache-tomcat-9.0.0.M10
    
    Using CATALINA_TMPDIR: /Library/Tomcat/apache-tomcat-9.0.0.M10/temp
    
    Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home
    
    Using CLASSPATH:  /Library/Tomcat/apache-tomcat-9.0.0.M10/bin/bootstrap.jar:/Library/Tomcat/apache-tomcat-9.0.0.M10/bin/tomcat-juli.jar
    
    Tomcat started.
    
    

    Tomcat启动成功,在浏览器中输入127.0.0.1:8080,应该可以看到可爱的Tom猫。

    配置启动脚本

    如果每次都到Tomcat的bin下执行脚本未免过于繁琐,为了更方便启动或关闭Tomcat,在终端包含的路径/usr/bin下新建一个名为tomcat的脚本:

    $ sudo touch tomcat

    但是会遇到

    touch: tomcat: Operation not permitted

    即使是超级用户权限也不可以。搜索网络资料,在V2EX和iOS逆向论坛都有相关谈论。从OSX10.11以后,苹果启用了一种称作rootless的机制,限制root用户的权限,即使是root用户也不可以向/usr/bin写入内容。 根据Stackoverflow上的这个回答,可以使用以下代码关闭rootless保护机制:

    
    sudo nvram boot-args="rootless=0"; sudo reboot
    
    

    但是这种做法不推荐,可能有安全隐患。

    考虑到/usr/local不需要sudo权限,可以尝试换另一个终端包含的路径/usr/local/bin,:

    $ cd /usr/local/bin

    执行以下命令新建tomcat脚本文件:

    $ touch tomcat

    接着编辑tomcat的内容:

    $ vim tomcat

    输入以下内容:

    
    #!/bin/bash
    
    TOMCAT_PATH='/Library/Tomcat/apache-tomcat-9.0.0.M10/bin'
    
    case $1 in
    
    start)
    
    sh $TOMCAT_PATH/startup.sh
    
    ;;
    
    stop)
    
    sh $TOMCAT_PATH/shutdown.sh
    
    ;;
    
    restart)
    
    sh $TOMCAT_PATH/shutdown.sh
    
    sh $TOMCAT_PATH/startup.sh
    
    ;;
    
    *)
    
    echo “Usage: start|stop|restart”
    
    ;;
    
    esac
    
    exit 0
    
    

    给予tomcat脚本文件权限:

    $ chmod 777 tomcat

    以后就可以使用以下命令快速启动或者关闭tomcat:

    
    tomcat start  //启动
    
    tomcat stop //关闭
    
    tomcat restart //重启
    
    

    2016.11.15补充

    /usr/local文件夹在macOS Sierra上也需要特殊权限才能操作,会导致Homebrew使用也出现问题,可以执行以下指令修正:

    sudo chown -R $(whoami) /usr/local

    今天把tomcat从/Library迁移到$HOME/Workspaces,修改启动脚本内容为:

    
    #!/bin/bash
    
    TOMCAT_PATH=$HOME/Workspaces/Tomcat/apache-tomcat-9.0.0.M10/bin'
    
    case $1 in
    
    start)
    
    sh $TOMCAT_PATH/startup.sh
    
    ;;
    
    stop)
    
    sh $TOMCAT_PATH/shutdown.sh
    
    ;;
    
    restart)
    
    sh $TOMCAT_PATH/shutdown.sh
    
    sh $TOMCAT_PATH/startup.sh
    
    ;;
    
    *)
    
    echo “Usage: start|stop|restart”
    
    ;;
    
    esac
    
    exit 0
    
    

    修改过的启动脚本和以前的对比,TOMCAT_PATH定义的地方去掉了单引号,因为单引号会导致$HOME的内容无法展开,仅仅只是符号的字面量$HOME,实际展开应该是/Users/chenxin。

    初始参考

    2016.11.15补充参考

    相关文章

      网友评论

          本文标题:mac安装配置Tomcat笔记

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