在CentOS7上使用systemctl配置tomcat

最近买了一台阿里云,现在阿里云CentOS都已经支持7了(前面都是使用CentOS6),索性直接使用CentOS7,7上面目前最大区别就是service变成了现在的systemctl,简单的查了一下并结合使用,发现systemctl功能上等同于6上面的service+chkconfig,也就是说配置service与设置开机启动都是使用systemctl。

开始配置tomcat

1.环境准备,安装java

在生产环境上,我一般使用oracle java,不使用openjdk,所以先卸载系统自带的openjdk

yum remove java

下载oracle java Linux rpm安装包(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

安装

rpm -ivh jdk-8u92-linux-x64.rpm

java默认的安装目录在/usr/java/jdk1.8.0_92(根据具体的版本目录名不同)

2.下载tomcat

我选择使用清华大学源,速度十分快,这个源还有其他资源,下载软件可以在这里找

将tomcat下载到/opt目录下,并解压

# 下载
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.36/bin/apache-tomcat-8.0.36.tar.gz -P /opt
# cd到tomcat包的目录
cd /opt
# 解压tomcat包
tar -zxf apache-tomcat-8.0.36.tar.gz
# 创建符号链接tomcat8,因为解压出来的包名比较长,为了方便
ln -s apache-tomcat-8.0.36 tomcat8
# 可以选择删除tomcat包
rm -rf apache-tomcat-8.0.36.tar.gz

3.设置环境变量

# cd 到 /et/profile.d目录
cd /etc/profile.d
# 创建tomcat8.sh
vim tomcat8.sh
# 输入以下内容

# java tomcat env
export JAVA_HOME=/usr/java/jdk1.8.0_92
export CLASS_PATH=.:$JAVA_HOME/lib
export CATALINA_HOME=/opt/tomcat8
export CATALINA_BASE=/opt/tomcat8
export PATH=$PATH:$JAVA_HOME/bin:$CATLINA_HOME:/bin

# 保存tomcat8.sh文件,使用source使环境变量立即生效source /etc/profile

4.简单介绍systemctl命令的使用

systemctl list-unit-files --type service #查看全部服务命令
systemctl status name.service #查看服务命令
systemctl start name.service #启动服务
systemctl stop name.service #停止服务
systemctl restart name.service #重启服务
systemctl enable name.service #增加开机启动
systemctl disable name.service #删除开机启动

5.配置tomcat的启动参数

# 编辑/opt/tomcat8/bin/setenv.sh,没有的话就新建
vim /opt/tomcat8/bin/setenv.sh
# 输入以下配置选项(tomcat有很多配置选项)
# 设置tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
# 设置java参数,提高性能
JAVA_OPTS="-server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
# 保存文件
# 修改文件权限变为可执行
chmod a+x /opt/tomcat8/bin/setenv.sh

6.创建tomcat账户来启动tomcat,并修改tomcat文件的属性

getent group tomcat || groupadd -r tomcat
getent passwd tomcat || useradd -r -d /opt -s /bin/nologin -g tomcat tomcat
chown -R tomcat:tomcat /opt/apache-tomcat-8.0.36

7.配置systemctl来管理tomcat

# 在/usr/lib/systemd/system目录下新建tomcat8.service文件
cd /usr/lib/systemd/system
# 创建tomcat8.service文件
vim tomcat8.service
# 输入以下内容
[Unit]
Description=Apache Tomcat 8
After=syslog.target network.target

[Service]
Type=forking
PIDFile=/opt/tomcat8/tomcat.pid
ExecStart=/opt/tomcat8/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
User=tomcat
Group=tomcat 

[Install]
WantedBy=multi-user.target
# 保存wq!

8.上面tomcat8.service文件创建完毕后就可以通过systemctl来管理tomcat了

设置tomcat开机启动

systemctl enable tomcat8

启动tomcat

systemctl start tomcat8
# 查看tomcat进程
[[email protected] ~]# ps aux | grep tomcat
tomcat   16150  0.1 27.0 2626292 275420 ?      Sl   14:34   0:36 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=512m -Xms256M -Xmx512M -XX:MaxNewSize=128m -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /opt/tomcat8/bin/bootstrap.jar:/opt/tomcat8/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat8 -Dcatalina.home=/opt/tomcat8 -Djava.io.tmpdir=/opt/tomcat8/temp org.apache.catalina.startup.Bootstrap start

9.配置完毕

tomcat启动时会在tomcat的根目录/opt/tomcat8下生成pid文件tomcat.pid,停止后会删除,用systemctl管理tomcat不会出现同时启动多个tomcat,这样可以保证始终只有一个tomcat在运行

文中有不足之处,请直接指出,QQ:1485619676,欢迎交流学习

时间: 2024-10-10 01:14:36

在CentOS7上使用systemctl配置tomcat的相关文章

CentOS7上安装、配置、监控RabbitMQ

CentOS7上安装.配置.监控RabbitMQ RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发.RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负 载部署,非常适合在较大规模的分布式系统中使用,具体特性还在验证中,待检验.由于项目需要,安装并配置了RabbitMQ,服务器操作系统是CentOS7. 环境:CentOS7.2 步骤 一.安装Erla

CentOS7上安装并配置KVM,以及通过KVM安装CentOS系统

笔记内容:CentOS7上安装并配置KVM,以及通过KVM安装CentOS系统笔记日期:2018-03-07 28.5 Centos7上安装KVM 28.6 配置网卡 28.7 创建虚拟机安装CentOS7 28.8 虚拟机管理 Centos7上安装KVM 首先我们需要一台配置较高的CentOS7虚拟机,当然用物理机也可以,我这里用的是虚拟机,配置如下: 硬盘需要新增一个,其中的新硬盘用于在KVM里安装操作系统时需要用到,内存的大小最好有4个G,最低2个G,因为我这里物理机的内存有16G所以就给

CentOS 6.5上安装并配置Tomcat

一.下载并安装jdk 到oracle官网下载jdk,然后上传到CentOS上. cd /opt/tools/ [[email protected] tools]# ll jdk-8u101-linux-i586.tar.gz apache-tomcat-7.0.72.tar.gz  -rw-r--r-- 1 root root   8931288 Sep 14 20:39 apache-tomcat-7.0.72.tar.gz -rw-r--r-- 1 root root 183456778 O

CentOS7上安装并配置Nginx、PHP、MySql

一.Nginx 1.安装nginx yum install nginx 2.启动nginx systemctl start nginx 除了systemctl start nginx之外,常用的相关命令还有systemctl stop nginx.systemctl restart nginx.systemctl status nginx 3.测试nginx是否安装成功 浏览器输入ip地址或者域名(已经解析过的域名),如下图所示,则安装成功. 4,配置Nginx支持PHP解析 编辑/etc/ng

Centos7上安装及配置Apache

Apache HTTP服务器是世界上最流行的Web服务器. 它是一款免费的开源和跨平台的HTTP服务器,提供强大的功能,可以通过各种模块进行扩展. 以下说明介绍如何在CentOS 7机器上安装和管理Apache Web服务器. 安装Apache Apache在默认的CentOS仓库中可用,安装非常简单. 在CentOS和RHEL上,Apache软件包和服务称为httpd. 要安装软件包,请运行以下命令: sudo yum install httpd 安装完成后,启用并启动Apache服务: su

liunux上centos7上安装jdk,mysql,tomcat手把手良心教程

准备工作: 本地安装:rpm -ivh 程序名 本地查看:rpm -qa 本地卸载:rpm -e --nodeps 程序名 因为jdk,tomcat,mysql的安装过程需要从网上下载部分支持包才可以继续,所以要求提前安装下载好依赖. yum install glibc.i686 yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6 yum update libstdc++xx.xx.xx-xxx86_64 yum install gcc

centos7上一些初始简单配置脚本

自己总结了一些简单的centos7上的初始化配置和脚本,方便克隆使用 1.修改网卡地址软连接 ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 /root/network 使用network软连接到网卡信息配置文件上,方便直接修改网卡信息 使用的时候直接边界network软连接 2.主机名修改 编写脚本名称hostname.sh,方便直接修改主机名 #!/bin/bash # hostname.sh hostnamectl --static seth

docker 在 centos7.* 上的部署及问题解决

最近尝试搭建docker 环境,其实个人是比较喜欢“菜鸟学习系列”的知识的,怎奈它的讲解是以Ubuntu为主的,最后找到一个搭建学习系列,感觉写的很好,主要是页面风格清晰明了,遂决定按照此教程学习搭建:https://www.cnblogs.com/ityouknow/p/8520296.html 但是该文章是2018年的,版本有点过时,跟着搭建过程中遇到了不少问题,记录下来: 第一章是基础介绍及安装docker,并初次运行docker. 此处直接运行第一章是没有问题的,但是运行下边第二章的时候

阿里云主机实战应用之centos7上的防火墙设置

最近公司又上了一台服务器,以前都是用centos 6系统,这次选择使用了centos 7系统的安装镜像,因为现在程序版本在centos 7上一般php默认就是5.4以上的,mysql也变成了mariadb,但使用都一样而已,apache安装的httpd程序也是2.4的版本,所以就算yum安装基本服务也是比较新一些的版本吧. 公司拨款后就在阿里云后台买了台主机,直接yum装的lamp,添加虚拟主机的配置文件这里就不说了,网上一堆的配置文档,只记录下,在centos7上遇到的坑. lamp环境都搭好