在centOS使用systemctl配置启动多个tomcat
公司服务器使用的是阿里云CentOS7,CentOS7和CentOS6目前最大区别就是service变成了现在的systemctl,简单的查了一下并结合使用,发现systemctl功能上等同于6上面的service+chkconfig,也就是说配置service与设置开机启动都是使用systemctl。
简单介绍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 #删除开机启动
截图展示下公司的服务器配置,的确是高
自己购买了个单核2g的服务器自个练习下linux操作。
用于公司项目的服务都是通过systemctl来启动的。
所以在此总结一下systemctl配置tomcat的过程。
先看一下效果(启动了两个tomcat,一个是7,一个是8.5)
- 首先需要配置下jdk的环境
直接下载对应的jdk版本,编辑 vim /etc/pro
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin - 下载tomcat
下载tomcat,地址 https://tomcat.apache.org/download-80.cgi 进行如下操作
# 下载
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz -P /opt/tomcat
# cd到tomcat包的目录
cd /opt/tomcat
# 解压tomcat包
tar -zxf apache-tomcat-8.5.37.tar.gz
# 创建符号链接tomcat8,因为解压出来的包名比较长,为了方便
ln -s apache-tomcat-8.5.37 tomcat8
# 可以选择删除tomcat包
rm -rf apache-tomcat-8.5.37.tar.gz - 配置tomcat的启动参数
因为需要通过systemctl管理多个tomcat,这个时候环境配置不需要写到/etc/profile文件里面,单独修改tomcat里面的/bin/catalina.sh文件即可
①
vim /opt/tomcat/apache-tomcat-8.5.35/bin/catalina.sh
# 最上面添加一行
export JAVA_HOME=/usr/local/java/jdk1.8.0_191②
# 编辑/opt/tomcat/apache-tomcat-8.5.35/bin/setenv.sh,没有的话就新建
vim /opt/tomcat/apache-tomcat-8.5.35/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/tomcat/apache-tomcat-8.5.35/bin/setenv.sh - 创建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. - 配置systemctl来管理tomcat
# 在/usr/lib/systemd/system目录下新建tomcat8.service文件
cd /usr/lib/systemd/system
# 创建tomcat8.service文件
vim tomcat8.service
# 输入以下内容
[Unit]
Description=Apache Tomcat 8 chy
After=syslog.target network.target [Service]
Type=forking
PIDFile=/opt/tomcat/apache-tomcat-8.5.35/tomcat.pid
ExecStart=/opt/tomcat/apache-tomcat-8.5.35/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! - 上面tomcat8.service文件创建完毕后就可以通过systemctl来管理tomcat了
通过 systemctl enable tomcat8设置为开机自启
通过 systemctl start tomcat8 启动tomcat服务
检验 curl localhost:8080
tomcat启动时会在tomcat的根目录/opt/tomcat8下生成pid文件tomcat.pid,停止后会删除,用systemctl管理tomcat不会出现同时启动多个tomcat,这样可以保证始终只有一个tomcat在运行
ok,完成。
参考 https://www.cnblogs.com/ieinstein/p/7096650.html
参考这篇博客第一次没有配置成功,之后才知道在上述的第三部配置Catalina.sh的时候错误了。
如果想再配置一个tomcat7,就像这样
systemctl list-unit-files --type service
配置跟配置tomcat8类似,区别就是需要修改tomcat的server.xml配置文件。
需要修改三个端口号,这样的话就可以启动了。
在centOS使用systemctl配置启动多个tomcat的更多相关文章
- MyEclipse配置启动多个Tomcat
在实际开发中常常会遇到多个项目同一时候进行,来回切换不太方便,这时可分别部署在多个tomcat下. 改动一些配置可同一时候启动多个tomcat 一開始查阅相关文档,看到一篇文章一个Myeclipse同 ...
- Linux(CentOS)下同时启动两个tomcat
问题背景:在配置nginx时,配置了两个tomcat,tomcat01和tomcat02,改了tomcat02中server.xml的端口,可是还是启动不起来. 解决方法: 一.编辑环境变量: 1 v ...
- RHEL/CentOS 7 中配置 PXE 网络启动服务器
RHEL/CentOS 7 中配置 PXE 网络启动服务器 作者: Matei Cezar 译者: LCTT joeren | 2015-02-17 14:28 评论: 13 收藏: 8 分享: ...
- centos 7 上配置mysql 开机启动详解
之前多次在centos7环境下配置mysql开机自启动出现了错误.现留下篇文章已做记录 一.centos7与centos6相比有什么不同: 1 在centos7中服务不在是用service这个命令来启 ...
- CentOS 7 中配置通过 daemon 模式启动的 Tomcat 8 服务
距离上次折腾已经有很长一段时间了... 不说这个,刚好有空闲,把这两天折腾的 Tomcat 8 的服务配置整理出来收录一下. 1.JDK安装 1)检查服务器是否预装了 openJdk,如果有就删除,在 ...
- 在CentOS7上使用systemctl配置tomcat
最近买了一台阿里云,现在阿里云CentOS都已经支持7了(前面都是使用CentOS6),索性直接使用CentOS7,7上面目前最大区别就是service变成了现在的systemctl,简单的查了一下并 ...
- 新的 Centos 服务器初始化配置
当你初次创建新的 Centos 服务器的时候, Centos 默认的配置安全性和可用性上会存在一点缺陷(运维人员往往会有初始化的脚本).为了增强服务器的安全性和可用性,有些配置你应该尽快地完成. 这篇 ...
- CentOS 7 个性化配置指南
博客原文地址:CentOS 7 个性化配置指南 - Wind Spirit 0x00 前言 该教程主要安装了如下软件包 iptables MySQL PHP PHP 相关模块 Nginx 主要配置实现 ...
- 记录:CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1
CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1 软件下载:http://download.csdn.net/download/qingchunwuxian1993/9897458 ...
随机推荐
- CSS3 实现的一个简单的"动态主菜单" 示例[转]
其实这个示例蛮无聊的 很简单 也没什么实际的用处. 主要是展示了 CSS3 如何实现动画效果. 写这个主要是想看一看 完成这样的效果 我到底要写多少代码. 同时和我熟悉的java做个比较. 比较结果不 ...
- 可供选择CSS框架
在这里你有一个很酷的框架,收集创建的CSS布局. 如果你不喜欢框架,宁愿使用自己的手写代码以促进自己的发展,请跳过本篇文章. 我想有一个建设性的意见,那就是有选择的使用其优点避开其缺点. 就个人而言, ...
- 分享自己新做的vim colorscheme
把下面的内容保存成darkslategrey.vim,放入~/.vim/colors目录即可. " Vim color file " Maintainer: jiqing() &q ...
- 20155330 2016-2017-2 《Java程序设计》第七周学习总结
20155330 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 学习目标 了解Lambda语法 了解方法引用 了解Fucntional与Stream API ...
- 产品排序 product
评测传送门 [问题描述] 你是一个公司的员工,你会按时间顺序受到一些产品的订单,你需要用一个栈来改变这些订单的顺序(每个产品都必须入栈和出栈一次). 按初始顺序,每次可以将一个产品入栈,或将栈顶产品弹 ...
- 倍增 Tarjan 求LCA
...
- 函数嵌套>作用域>闭包函数
一:函数对象 函数是第一类对象,即表示函数可以当做数据传递 可以被引用:把函数内存地址赋值给一个变量名,仍然遵循函数的调用规则. 可以被当做参数传递:传递的是函数的运行的结果#可以当做返回值 把函数作 ...
- Python练习-time模块
明天的明天的明天,雾草! # 编辑者:闫龙 #显示当前时间三天后是星期几? import time t = time.time()+((24*3600)*3) tl = time.localtime( ...
- 2016.6.1——Min Stack
Min Stack 本题收获: 1.可以利用两个栈操作. 2.栈的基本操作. 题目: Design a stack that supports push, pop, top, and retrievi ...
- vue表格中显示金额格式化与保存时格式化为数字并校验!
最近项目中遇到了成本计算的,需要显示金额,保存一下,以后方便直接拿来用! 一 数字转金额格式显示 //数字转金额格式 format:function(s){ if(/[^0-9\.]/.test(s) ...