将tomcat以普通用户启动
1、为tomcat创建一个专用启动用户
useradd -M -r -d /dev/null -s /sbin/nologin tomcat
2、编译jsvc
① 进入tomcat的bin目录下
② 解压commons-daemon-native.tar.gz: tar -xf commons-daemon-native.tar.gz
③ 进入解压后的unix目录: cd commons-daemon-1.0.15-native-src/unix/
④ 执行buildconf命令: sh support/buildconf.sh
⑤ 编译: ./configure --with-java=/usr/local/java/jdk-9, --with-java后面的值是jdk的安装目录
⑥ 编译: make
⑦ 将jsvc文件拷贝到tomcat的bin目录下: cp jsvc /usr/local/tomcat/apache-tomcat-9.0.1/bin/
⑧ 移除daemon编译文件: rm -rf commons-daemon-1.0.15-native-src/
3、配置jsvc启动脚本
① 进入tomcat的bin目录下,拷贝daemon.sh到/etc/init.d下: cp daemon.sh /etc/init.d/tomcat
② 编辑tomcat: vim /etc/init.d/tomcat
③ 在文件头部加上环境变量
export JAVA_HOME=/usr/local/java/jdk-9
export TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-9.0.1
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.1
export CATALINA_BASE=/usr/local/tomcat/apache-tomcat-9.0.1
export CATALINA_TMPDIR=/usr/local/tomcat/apache-tomcat-9.0.1/temp
④ daemon默认的普通用户的用户名为tomcat,如果不是,则修改相应的用户:将 test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat 这句话最后面的tomcat修改成指定的用户名
⑤ 保持退出 :wq
4、启动tomcat
/etc/ini.d/tomcat start
注意: 将tomcat的所有者切换成tomcat用户,不然会因为权限不足导致无法启动tomcat(chown -R tomcat:tomcat tomcat目录)
错误解决:
1、执行buildconf命令时,提示
答: 缺少autoconf命令,直接安装autoconf即可。 yum install autoconf