公司服务器使用的是阿里云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)

  1. 首先需要配置下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
  2. 下载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
  3. 配置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
  4. 创建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.


  5. 配置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!


  6. 上面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的更多相关文章

  1. MyEclipse配置启动多个Tomcat

    在实际开发中常常会遇到多个项目同一时候进行,来回切换不太方便,这时可分别部署在多个tomcat下. 改动一些配置可同一时候启动多个tomcat 一開始查阅相关文档,看到一篇文章一个Myeclipse同 ...

  2. Linux(CentOS)下同时启动两个tomcat

    问题背景:在配置nginx时,配置了两个tomcat,tomcat01和tomcat02,改了tomcat02中server.xml的端口,可是还是启动不起来. 解决方法: 一.编辑环境变量: 1 v ...

  3. RHEL/CentOS 7 中配置 PXE 网络启动服务器

    RHEL/CentOS 7 中配置 PXE 网络启动服务器 作者: Matei Cezar 译者: LCTT joeren | 2015-02-17 14:28   评论: 13 收藏: 8 分享:  ...

  4. centos 7 上配置mysql 开机启动详解

    之前多次在centos7环境下配置mysql开机自启动出现了错误.现留下篇文章已做记录 一.centos7与centos6相比有什么不同: 1 在centos7中服务不在是用service这个命令来启 ...

  5. CentOS 7 中配置通过 daemon 模式启动的 Tomcat 8 服务

    距离上次折腾已经有很长一段时间了... 不说这个,刚好有空闲,把这两天折腾的 Tomcat 8 的服务配置整理出来收录一下. 1.JDK安装 1)检查服务器是否预装了 openJdk,如果有就删除,在 ...

  6. 在CentOS7上使用systemctl配置tomcat

    最近买了一台阿里云,现在阿里云CentOS都已经支持7了(前面都是使用CentOS6),索性直接使用CentOS7,7上面目前最大区别就是service变成了现在的systemctl,简单的查了一下并 ...

  7. 新的 Centos 服务器初始化配置

    当你初次创建新的 Centos 服务器的时候, Centos 默认的配置安全性和可用性上会存在一点缺陷(运维人员往往会有初始化的脚本).为了增强服务器的安全性和可用性,有些配置你应该尽快地完成. 这篇 ...

  8. CentOS 7 个性化配置指南

    博客原文地址:CentOS 7 个性化配置指南 - Wind Spirit 0x00 前言 该教程主要安装了如下软件包 iptables MySQL PHP PHP 相关模块 Nginx 主要配置实现 ...

  9. 记录:CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1

    CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1 软件下载:http://download.csdn.net/download/qingchunwuxian1993/9897458 ...

随机推荐

  1. 平铺式窗口管理器 Musca 初体验

    作者: 吴吉庆 Version: 1.0 release: 2009-11-04 update: 2009-11-04 为什么用平铺式窗口管理器? 什么是平铺式窗口管理器(tiling window ...

  2. 【BZOJ】2655: calc 动态规划+拉格朗日插值

    [题意]一个序列$a_1,...,a_n$合法当且仅当它们都是[1,A]中的数字且互不相同,一个序列的价值定义为数字的乘积,求所有序列的价值和.n<=500,A<=10^9,n+1< ...

  3. 【BZOJ】2310: ParkII 插头DP

    [题意]给定m*n的整数矩阵,求经过所有点至多一次路径的最大数值和.n<=8,m<=100. [算法]插头DP [题解]最小表示法确实十分通用,处理简单路径问题只需要状态多加一位表示独立插 ...

  4. phpexcel 导入导出excel表格

    phpexcel中文实用手册 转载:http://www.cnblogs.com/freespider/p/3284828.html 下面是总结的几个使用方法 include 'PHPExcel.ph ...

  5. Java:数值-字符串转换(String转Double)

    String ss = "3.141592653"; double value = Double.valueOf(ss.toString());

  6. python初步学习-python 模块之 sys(持续补充)

    sys sys 模块包括了一组非常实用的服务,内含很多函数方法和变量 sys 模块重要函数变量 sys.stdin 标准输出流 sys.stdout 标准输出流 sys.stderr 标准错误流 sy ...

  7. Python练习-一个简单的生成器

    今天我们学习了生成器,怎么理解生成器呢,其实就是使用函数的方式自己建立一个迭代器 # 编辑者:闫龙 #做一个简单的生成器 def EasyGene(*args): #建立一个生成器方法并传递多个参数 ...

  8. 用jquery实现toast的原理

    function toast(mess){ var str='<div class="mess"><span></span></div&g ...

  9. 关于Linux内核版本

    Linux内核可分为实验版本和产品化版本.每一个版本号由三位数字“x.y.z”组成,第二位数字说明版本类型:偶数表示产品化版本,奇数表示实验版本.产品化版本只修改错误,而实验版本最初是产品化版本的拷贝 ...

  10. 众签demo

    众签demo using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...