CentOS 7 Linux 安装Tomcat 8
概要:本文直接介绍在CentOS 7 Linux系统下安装Tomcat 8并发布java web程序。
软件 | 版本 |
---|---|
操作系统 | CentOS 7 |
JAVA | java 1.8 |
Tomcat | tomcat8 |
1、安装JAVA
此处直接使用yum方式安装java。
查看当前系统是否安装或者自带java包。
yum list installed | grep java
如果存在已经安装java包或者自带的java包,则直接删除就好。
yum -y remove 包名字
更新yum
yum update
查询yum list中java安装包
yum search java | grep ^java*
执行yum install命令安装java 1.8程序包。
yum -y install java-1.8.0-openjdk
yum -y install java-1.8.0-openjdk-devel
yum -y install java-1.8.0-openjdk-src
yum -y install java-1.8.0-openjdk-headless
查看java 1.8程序包的安装路径信息。
rpm -ql java-1.8.0-openjdk
其中/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/为安装路径。
测试java安装是否成功。
java -version
至此java安装成功。
2 安装Tomcat 8
Tomcat安装比较简单,在apache官网直接下载程序包解压后可直接运行使用。
下载tomcat程序包
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.47/bin/apache-tomcat-8.0.47.tar.gz
配置tomcat
解压缩程序包。
tar -zxvf apache-tomcat-8.5.24.tar.gz
tomcat程序文件移动到/opt目录下。
mv apache-tomcat-8.5.24 /opt/tomcat-8.5.24
删除tomcat目录下一些管理程序文件
为了安全期间,直接删除tomcat目录下的管理端程序文件。
/*进入tomcat程序目录*/
cd /opt/tomcat-8.5.24/webapps/
/*删除此目录下所有文件*/
rm -rf *
使用catalina.sh方式启动
编写tomcat服务启动脚本
编写tomcat启动脚本,放在/root目录下,方便管理。
vi tomcat-service.sh
start-service-init.sh文件代码内容。
#!/bin/bash
# tomcat启动
/opt/tomcat-8.5.24/bin/catalina.sh start
执行如下命令,将该脚本标记为可执行文件。
chmod +x /home/centnet/start-service-init.sh
执行如下命令将/etc/rc.d/rc.local文标记为可执行文件。
chmod +x /etc/rc.d/rc.local
打开/etc/rc.d/rc.local文件,在最后面添加如下脚本。
vi rc.local
# start tomcat
/root/start-service-init.sh
重启linux系统测试一下。
shutdown -r now
ps -ef | grep tomcat
能看到tomcat的启动信息,则设置tomcat开机启动完成。
添加tomcat到系统service
添加tomcat到系统service,可以通过service tomcat8 [start|stop]管理tomcat启动和停止。
cp /opt/tomcat-8.5.24/bin/catalina.sh /etc/init.d/tomcat8
查看是否添加成功。
ls /etc/init.d/tomcat*
使用daemon.sh方式启动
安装commons-daemon工程jsvc工具
1、tomcat的bin目录里已经自带了这个工具的源码,通过此源码包安装。
[root@XXXX ~]# cd /opt/tomcat-8.5.24/bin/
[root@XXXX bin]# tar -zxvf commons-daemon-native.tar.gz
[root@XXXX bin]# cd commons-daemon-1.1.0-native-src/
[root@XXXX commons-daemon-1.1.0-native-src]# cd unix/
2、先查看一下JDK安装路径%JAVA_HOME%的位置,下面命令后可以看到[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/]为%JAVA_HOME%位置。
[root@XXXX unix]# rpm -ql java-1.8.0-openjdk
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre/bin/policytool
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre/lib/amd64/libawt_xawt.so
... ...
3、在查看一下系统中是否已经安装libcap-devel软件包。
[root@XXXX unix]# yum list installed | grep libcap-deve
如果没有安装则需要安装一下,如果安装了则可以更新一下。
yum list | grep libcap-devel
yum install libcap-devel
yum update libcap-devel
4、创建一个tomcat用户。
# 创建用户组
[root@XXXX bin]# groupadd tomcat
# 创建用户,指定为不能登录,指定用户所在组为
[root@XXXX bin]# useradd -s /sbin/nologin -g tomcat tomcat
# 锁定用户密码,使密码无效;
[root@XXXX bin]# usermod -L tomcat
# 将tomcat软件包修改为tomcat用户
[root@XXXX opt]# chown -R tomcat:tomcat ./tomcat-8.5.24/
# 查看
[root@XXXX opt]# ll
total 8
lrwxrwxrwx 1 tomcat tomcat 16 Dec 26 15:42 tomcat -> ./tomcat-8.5.24/
drwxr-xr-x 9 tomcat tomcat 4096 Dec 5 17:14 tomcat-8.5.2
5、然后开始编译jsvc工具。
[root@XXXX unix]# ./configure --with-java=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/
... ...
*** Writing output files ***
configure: creating ./config.status
config.status: creating Makefile
config.status: creating Makedefs
config.status: creating native/Makefile
*** All done ***
Now you can issue "make"
[root@XXXX unix]# make
将jsvc执行文件复制到tomcat/bin目录中。
[root@XXXX unix]# cp jsvc ../../
[root@XXXX unix]# cd ../../
[root@XXXX bin]# pwd
/opt/tomcat/bin
6、运行daemon.sh脚本启动tomcat服务
[root@iZ28snxdn5mZ bin]# cd /opt/tomcat-8.5.24/bin/
[root@iZ28snxdn5mZ bin]# ./daemon.sh start
[root@iZ28snxdn5mZ bin]# ps -ef | grep tomcat
编写tomcat服务启动脚本
添加tomcat到系统service
systemctl形式添加service。
[root@iZ28snxdn5mZ system]# cd /usr/lib/systemd/system
[root@iZ28snxdn5mZ system]# vim tomcat.service
tomcat.service 的内容如下
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/opt/tomcat-8.5.24/bin/daemon.sh start
ExecStop=/opt/tomcat-8.5.24/bin/daemon.sh stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
如果把PrivateTmp的值设置成true ,服务启动时会在/tmp目录下生成类似systemd-private-xxx-tomcat.service-xxx 的文件夹,用于存放tomcat的临时文件。
设置开机启动的命令
systemctl enable|disable tomcat.service
服务命令
systemctl start|stop tomcat
service tomcat start|stop|restart