Centos7安装tomcat-859jsvc并配置systemd服务
- 一安装JDK
- 二安装tomcat-859和jsvc
- 三添加tomcat用户并分配目录
- 四添加systemd服务单元添加tomcat为自启动服务
- 五重要说明
===============
Centos7安装tomcat-8.5.9+jsvc并配置systemd服务
一.安装JDK.
重要:tomcat-8.5.9依赖jre7以及以上版本,jdk包含了jre.
到oracle网站下载jdk8,linux的64位rpm版.
[root#]rpm -ivh jdk-8u111-linux-x64.rpm
提示:jdk安装后位于/usr/java/目录内,default和latest都是软链接到实际目录。
二.安装tomcat-8.5.9和jsvc.
2.1.到tomcat网站下载tomcat-8.5.9,Core里面的tar.gz版.
[root#]mkdir /opt/apache/ [root#]tar xvf apache-tomcat-8.5.9.tar.gz -C /opt/apache/
2.2.编译安装jsvc.
编译前需要先安装好gcc,autoconf和jdk。
[root#]yum install gcc autoconf
进入${CATALINA_BASE}/bin目录下,
[root#] cd /opt/apache/apache-tomcat-8.5.9/bin/
解压文件,
[root#] tar xf commons-daemon-native.tar.gz
编译安装jsvc
-with-java=/usr/java/latest 指定了jdk的路径.
[root#] cd commons-daemon-1.0.15-native-src/unix/
[root#] ./configure –with-java=/usr/java/latest
[root#] make
[root#] cp jsvc ../..
注意:就是把编译生成好的jsvc文件移动到tomcat/bin目录下
三.添加tomcat用户,并分配目录.
tomcat的daemon.sh默认以tomcat用户启动,所以需要先添加tomcat.
[root#]useradd tomcat -s /sbin/nologin -M [root#]chown -R tomcat /opt/apache/apache-tomcat-8.5.9
四.添加systemd服务单元.添加tomcat为自启动服务.
[root#]vi /etc/systemd/system/tomcat.service
加入如下内容:
[Unit] Description=Apache Tomcat Web Application Container After=network.target remote-fs.target nss-lookup.target [Service] Type=forking Environment=JAVA_HOME=/usr/java/latest Environment=CATALINA_HOME=/opt/apache/apache-tomcat-8.5.9 Environment=CATALINA_BASE=/opt/apache/apache-tomcat-8.5.9 ExecStart=/opt/apache/apache-tomcat-8.5.9/bin/daemon.sh start ExecStop=/opt/apache/apache-tomcat-8.5.9/bin/daemon.sh stop [Install] WantedBy=multi-user.target
输入:wq保存。
下面,设置tomcat为自启动,然后启动tomcat服务。
[root#]systemctl daemon-reload
[root#]systemctl enable tomcat
[root#]systemctl start tomcat
[root#]systemctl status tomcat
使用本机浏览器打开http://localhost:8080/测试。
四-1.tomcat为自启动服务之(service启动)rc.d.
vim tomcat8 (我的tomcat在/www/server/tomcat8/)
#!/bin/bash # chkconfig: 2345 55 25 # description: tomcat Service ### BEGIN INIT INFO # Provides: tomcat # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts tomcat # Description: starts the tomcat ### END INIT INFO path=/www/server/tomcat8/bin cd $path bash daemon.sh $1
chkconfig --add tomcat8 chkconfig tomcat8 on
启动命令:
参考: https://www.jb51.net/article/100692.htm
https://www.linuxprobe.com/linux-open-sh.html
四-2:管理启动界面(需ntsysv工具)
安卓:yun install -y ntsysv
命令行执行:ntsysv
五.重要说明:
1).tomcat正常运行需要设置以下环境变量:
JAVA_HOME(必须),
JRE_HOME(可选)
CATALINA_HOME(必须)
CATALINA_BASE(可选)
本文tomcat.service内已经将环境变量设置好。如果不想在service单元内设置,可以在
daemon.sh里面设置JAVA_HOME和CATALINA_HOME,添加在# OS specific support (must be 'true' or 'false').这一行前面。
也可以在daemon.sh的命令行参数里面设置,如下:
ExecStart=/opt/apache/apache-tomcat-8.5.9/bin/daemon.sh --java-home /usr/java/latest --catalina-home /opt/apache/apache-tomcat-8.5.9 start
2).关于setenv.sh
${CATALINA_HOME}/bin/setenv.sh里面不可以设置CATALINA_HOME和CATALINA_BASE,因为setenv.sh是需要在这两个环境变量存在的情况下,定位路径。
3).systemd运行shell脚本的环境变量不是从/etc/profile里面读取。详情可参考systemd文档,以及bash文档。
参考资料:
1.http://blog.csdn.net/xiaobaoxiaodun/article/details/53539680
2.https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-centos-7
3.http://tomcat.apache.org/tomcat-8.5-doc/setup.html
转: https://blog.csdn.net/shile/article/details/53821821