mac安装配置Tomcat笔记

2018-04-22  本文已影响110人  nextliving

最近进行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补充参考

上一篇下一篇

猜你喜欢

热点阅读