安装Tomcat并以普通用户运行
正常启动tomcat的方法是通过bin目录下的catalina.sh或者bin目录下的start.sh脚本进行启动,但是这样启动的tomcat都是root用户。
在bin目录下还有一个daemon.sh的脚本,我们可以通过此脚本启动tomcat,不过首先需要指定具体的运行用户
修改daemon.sh脚本,找到test ".$TOMCAT_USER" = . && TOMCAT_USER=这行,修改为
JAVA_HOME=jdk安装目录
CATALINA_HOME=tomcat安装目录
test ".$TOMCAT_USER" = . && TOMCAT_USER=www ,#此处修改tomcat运行用户为www,没有www用户的话要先创建
此时通过./daemon.sh start启动tomcat,结果发现报错了,提示找不到jsvc。
jsvc是用来让tomcat以普通用户身份运行,但能使java获取到一些root用户才有的权限,比如以低于1024的特权端口运行程序等。
在bin目录下有一个commons-daemon-native.tar.gz文件,解压此文件,运行./configure 和 make 编译之后生成jsvc文件,把此文件拷贝到tomcat的bin目录即可。
更改文件所有者
chown -R tomcat:tomcat /tomcat安装目录
赋予用户执行权
chmod a+x /tomcat安装目录/bin/daemon.sh
执行./daemon.sh start,发现tomcat启动,并以www用户运行。./daemon.sh stop 可以停止。
安装到服务
编辑daemon.sh,在开头第二行添加如下信息
# chkconfig: 2345 20 80
# description: Startup script for the Tomcat 8.5.60 Server
复制至/etc/init.d/
cp daemon.sh /etc/init.d/tomcat
添加服务
chkconfig --add tomcat
查看已有服务
chkconfig --list
启动服务
systemctl start tomcat