开源中文网

您的位置: 首页 > Tomcat > 正文

linux中Tomcat用普通用户身份运行

来源: 网络整理  作者: 佚名

下面我们就给大家介绍关于Tomcat用普通用户身份运行的例子,希望这篇教程可以对各位有帮助的哦。
在Linux下默认使用tomcat目录下bin/start.sh 脚本来启动tomcat,这样做简单,但是如果需要让tomcat监听在80端口就必须使用root用户来启动tomcat,这样在安全上存在风险,可以通过使用jsvc来启动tomcat。
参考资料
http://commons.apache.org/proper/commons-daemon/jsvc.html
版本说明
system: Red Hat Enterprise Linux Server release 5.5
Architecture: amd64
Tomcat Server version: Apache Tomcat/7.0.64
Java version: “1.7.0_60”
安装JDK或者JRE,过程略……
假设安装目录在 /usr/local/java
编辑
Tomcat安装过程略…
此处安装目录在 /usr/local/tomcat
编辑
配置以普通用户身份运行tomcat步骤:
1、安装jsvc
进入${CATALINA_BASE}/bin目录下
# cd /usr/local/tomcat/bin/
解压文件:
# tar xf commons-daemon-native.tar.gz
编译安装jsvc:
?
# cd commons-daemon-1.0.15-native-src/unix/
# ./configure --with-java=/usr/local/java/
# make
复制编译好的jsvc到${CATALINA_BASE}/bin/
?
# cp jsvc /usr/local/tomcat/bin/
2、创建setenv.sh
在${CATALINA_BASE}/bin/目录下
?
# vim setenv.sh
JAVA_HOME=/usr/local/java
TOMCAT_USER=tomcat
JSVC_OPTS='-jvm server'
JAVA_OPTS="-server -Xms2048M -Xmx2048M -Xverify:none -XX:PermSize=512M -XX:MaxPermSize=2048m -XX:NewSize=512m -Xmn1024m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=5 -XX:+CMSClassUnloadingEnabled"
3、创建运行tomcat用户,并授权:
?
# useradd -s /sbin/nologin -M tomcat
# chown -R tomcat /usr/local/tomcat7
这里主要就是授权CATALINA_HOME/logs目录对tomcat执行用户具有写日志的权限,其他保持读就可以,安全起见,还是更改属主:
?
# chown -R tomcat /usr/local/tomcat
4、添加到开机启动项里:
?
# cp daemon.sh /etc/init.d/tomcat
# vim /etc/init.d/tomcat
在第二行添加:
?
# chkconfig: - 86 14
# description: Tomcat7 daemon
# processname: tomcat
定义CATALINA_HOME变量,不然重启后找不到执行程序;
#test “.$CATALINA_HOME” = . && CATALINA_HOME=`cd “$DIRNAME/..” >/dev/null; pwd`
test “.$CATALINA_HOME” = . && CATALINA_HOME=”/usr/local/tomcat”
或者不将daemon.sh拷贝到 /etc/init.d目录中,而是做一个软连接到 /etc/init.d/下这样脚本可以解析到tomcat的家目录,这样也就不用修改改脚本中的CATALINA_HOME为固定目录而是要原来的变量CATALINA_HOME=`cd “$DIRNAME/..” >/dev/null; pwd` 这的执行结果就是tomcat的家目录了。
?
#ln -s /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat
5、启动服务:
?
# chkconfig --add tomcat
service tomcat start
6、命令用法:
?
Usage: tomcat ( commands ... )
commands:
run Start Tomcat without detaching from console
start Start Tomcat
stop Stop Tomcat
version What version of commons daemon and Tomcat
are you running?

Tags:身份 用户
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明