在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..tar.gz
# 创建符号链接tomcat8,因为解压出来的包名比较长,为了方便
ln -s apache-tomcat-8.0. tomcat8
# 可以选择删除tomcat包
rm -rf apache-tomcat-8.0..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..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
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进程
[root@cc ~]# ps aux | grep tomcat
tomcat 0.1 27.0 ? Sl : : /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= -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,欢迎交流学习
在CentOS7上使用systemctl配置tomcat的更多相关文章
- CentOS7上安装与配置Tomcat8与MySQL5.7
一.安装tomcat Tomcat 的安装依赖 JDK,在安装 Tomcat 之前需要先安装 Java JDK.输入命令 java -version,如果显示 JDK 版本,证明已经安装了 JDK.
- 技术杂记之:在阿里云centos7上部署JDK MYSQL TOMCAT
今日小编闲来无事,乘着公司新项目即将上线之际,在阿里云上整了一台centos作为测试机.原本以为一个小时搞定,结果还是花了一点小小时间.不管怎么说,记录下来,给各位小白当成课后甜点吧. 价格 先上价格 ...
- centos7上安装与配置Tomcat7(整理篇)
1.检查tomcat7是否已经安装 rpm -qa | grep tomcat ps -ef | grep tomcat 第一条命令查看是用rpm安装过tomcat,由于我们倾向于安装解压版的tomc ...
- CentOS7上安装并配置Nginx、PHP、MySql
一.Nginx 1.安装nginx yum install nginx 2.启动nginx systemctl start nginx 除了systemctl start nginx之外,常用的相关命 ...
- Centos7上安装及配置Apache
Apache HTTP服务器是世界上最流行的Web服务器. 它是一款免费的开源和跨平台的HTTP服务器,提供强大的功能,可以通过各种模块进行扩展. 以下说明介绍如何在CentOS 7机器上安装和管理A ...
- 在无界面centos7上部署jdk和tomcat
1.安装xshell6 2.创建服务器连接,输入用户名和密码 3.输入 sudo su -root 获取root权限 4.输入 cd /usr/local 进入local文件夹 5.输入 wget - ...
- 在centOS使用systemctl配置启动多个tomcat
公司服务器使用的是阿里云CentOS7,CentOS7和CentOS6目前最大区别就是service变成了现在的systemctl,简单的查了一下并结合使用,发现systemctl功能上等同于6上面的 ...
- docker 在 centos7.* 上的部署及问题解决
最近尝试搭建docker 环境,其实个人是比较喜欢“菜鸟学习系列”的知识的,怎奈它的讲解是以Ubuntu为主的,最后找到一个搭建学习系列,感觉写的很好,主要是页面风格清晰明了,遂决定按照此教程学习搭建 ...
- CentOS7上部署https
目前很多浏览器都加强了html都安全性,要求配置https. 下面都例子是在CentOS7上的Apache配置https都过程. 一.生成证书 用OpenSSL生成key和证书: mkdir /etc ...
随机推荐
- React入门---可复用组件-10
主要对props更多重要的特性进行学习; 还是用之前代码, index.js代码为: var React = require('react'); var ReactDOM = require('rea ...
- 由typedef和函数指针引起的危机
由typedef和函数指针引起的危机 昨天阅读了大神强哥的代码,发现里面用到了函数指针,也用到的typedef.本来我自以为对这两个概念有一定的认识,但是突然发现这两个东西居然用到了一起!!!!(在一 ...
- 在 iOS 10.0 之后, App 要调用手机相机与相簿应注意的事项
iOS 的 SDK 每一年至少都会有一次大改版,从 2009 到 2016 年,版号已经到了第 10 版了,很轻易的就追上了 Mac OSX. 每一次的大改版都会有不少新的功能或新的规范,在 iOS ...
- 主机设置ss代理,虚拟机共享代理
代理的原理: 关于代理的具体的书面定义你百度谷歌可以知道.这里,我想简单通过一个例子,说明代理的原理: 假如,你在北京,但你女朋友在广州,你有东西要给你的女朋友,但是正好你这几天公司有事,所以你不能去 ...
- js图片大小限制,设置
//图片大小自动脚本 function AutoResizeImage(maxWidth, maxHeight, objImg) { var img = new Image(); img.src = ...
- 你真的了解WebSocket吗?
WebSocket协议是基于TCP的一种新的协议.WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符.它实现了浏览器与服务器全双工(full-duplex ...
- 关于微信小程序的的总结
微信小程序学完了,给大家分享一些自己学小程序的心得,希望能帮到大家. 首先,我谈谈小程序数据绑定的那一块,所有从本地或者远程服务器的API传过来,都必须绑定到data: {}, 绑定格式是一个一个的键 ...
- 用pickle模块实现“增删改查”的简易功能
pickle的作用: 1:pickle.dump(dict,file)把字典转为二进制存入文件. 2:pickle.load(file)把文件二进制内容转为字典 import pickle # 增 d ...
- (原创)用Java实现链表结构对象:单向无环链表
转载请注明本文出处:http://www.cnblogs.com/Starshot/p/6918569.html 链表的结构是由一个一个节点组成的,所谓链,就是每个节点的头尾连在一起.而单向链表就是: ...
- java GUI (课堂笔记)
关于java GUI Swing组件: JFrame 窗口组件 JLabel 标签 JButton 按钮组件 JTextField 单行文本框 系统控件(JDK自带) 自定义控件(模仿系统控件): 继 ...