Centos7下安装tomcat实例并开启jmx和设置jvm参数

后续再继续优化


基本环境:vmware虚拟机

1.操作系统:CentOS Linux release 7.4.1708 (Core)

2.硬盘:21.5 GB

3.内存:1G

4.软件包:

    4.1 apache-tomcat-8.0.49.tar.gz

    4.2 jdk-8u161-linux-x64.tar.gz

第一章:安装jdk环境

1.1 下载:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


1.2 存放路径:

      /usr/local/jdk1.8.0_161

1.3 环境配置脚本:cat /etc/profile.d/jdk.sh

    export JAVA_HOME=/usr/local/jdk1.8.0_161

    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export PATH=$JAVA_HOME/bin:$PATH

1.4 更新环境变量

   [route@mysql01 ~]$ sh /etc/profile.d/jdk.sh

1.5 测试:

    [route@mysql01 ~]$ java -version

    java version "1.8.0_161"

    Java(TM) SE Runtime Environment (build 1.8.0_161-b12)

    Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

    [route@mysql01 ~]$

第二章:tomcat单实例部署

2.1 下载:

选择自己需要的版本:

a.


b.


c.


2.2 上传到服务器/opt目录下


2.3 解压

    [root@mysql01 opt]# tar zxf apache-tomcat-8.0.49.tar.gz

2.4 修改目录名称

    [root@mysql01 opt]# mv apache-tomcat-8.0.49/ tomcat-01/

2.5 修改端口:

    [root@mysql01 opt]# vim tomcat-01/conf/server.xml

    Server port:


    Connect port:


    AJP port:


    保存退出:wq

2.6 配置tomcat的启动参数和pid

[root@mysql01 opt]# vim tomcat-01/bin/setenv.sh

    # 编辑 tomcat-01/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"

    [root@mysql01 opt]# chmod +x  tomcat-01/bin/setenv.sh

2.7 创建用户和组

    [root@mysql01 opt]# getent group tomcat || groupadd -r tomcat

    [root@mysql01 opt]# getent passwd tomcat || useradd -r -d /opt -s /bin/nologin -g tomcat tomcat

2.8 授权

    [root@mysql01 opt]# chown -R tomcat:tomcat tomcat-01/

2.8 创建service文件

    [root@mysql01 opt]# vim /usr/lib/systemd/system/tomcat-01.service

        # 输入以下内容

    [Unit]

    Description=Apache Tomcat 8-01

    After=syslog.target network.target

    [Service]

    Type=forking

    PIDFile=/opt/tomcat-01/tomcat.pid

    ExecStart=/opt/tomcat-01/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!

[root@mysql01 web01]# systemctl daemon-reload

2.9 启动

    systemctl start tomcat-01

2.10 测试

    a.创建一个测试网页

        [root@mysql01 opt]# mkdir -p app/webapp

        [root@mysql01 webapp]# echo "web01" > web01/index.html

    b.添加一个context

        [root@mysql01 web01]# vim /opt/tomcat-01/conf/server.xml


    c.重新启动tomcat

        [root@mysql01 web01]# systemctl stop tomcat-01

       [root@mysql01 web01]# systemctl start tomcat-01

    d.访问

        [root@mysql01 web01]# curl http://127.0.0.1:8021

            web01

2.11 设置开机启动

    [root@mysql01 web01]# systemctl enable tomcat-01

    Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat-01.service to /usr/lib/systemd/system/tomcat-01.service.

第三章:tomcat多实例实现

3.1 复制一份tomcat-01实例为tomcat-02

[root@mysql01 opt]# cp -rf tomcat-02/ tomcat-03/

3.2 修改启动脚本的环境变量目录

[root@mysql01 tomcat-03]# vim bin/startup.sh

export JAVA_HOME=/usr/local/jdk1.8.0_161

export JRE_HOME=/usr/local/jdk1.8.0_161/jre

export CATALINA_HOME=/opt/tomcat-03

export CATALINA_BASE=/opt/tomcat-03


3.3 复制一份service文件

    [root@mysql01 system]# cp tomcat-01.service tomcat-03.service

3.4 修改service文件配置

    [root@mysql01 system]# vim tomcat-03.service

            [Unit]

        Description=Apache Tomcat 8

        After=syslog.target network.target

        [Service]

        Type=forking

        PIDFile=/opt/tomcat-03/tomcat.pid

        ExecStart=/opt/tomcat-03/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

3.5 授权tomcat目录为tomcat用户和组

    [root@mysql01 system]# chown -R tomcat:tomcat /opt/tomcat-03/

3.6 重新加载服务

    [root@mysql01 system]# systemctl daemon-reload

第四章:tomcat开启jmx监控

4.1 修改[root@mysql01 bin]# vim /opt/tomcat-01/bin/catalina.sh,再106行下面添加

   a. 不用认证

        CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=192.168.226.128 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8041 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

b.需要认证

    - 进入到

    [root@mysql01 bin]# cd /usr/local/jdk1.8.0_161/jre/lib/management/

    - 创建jmxremote.password文件

        cp jmxremote.password.template jmxremote.password

    - 修改权限以便修改,因为要添加用户和密码

    chmod 600 jmxremote.password

    - 再最后一行写入

    monitor ritchie #用户名和密码

    - 修把文件改为运行 tomcat 的用户,如果已经是,则不需要修改

    chown tomcat:tomcat  jmxremote.access jmxremote.password

    -修改文件权限600,这是 java 的规范,防止别的用户看到你密码

chmod 600 jmxremote.access jmxremote.password

   -重启tomcat服务

    systemctl stop tomcat-01

    systemctl start tomcat-01

   -开放端口

[root@mysql01 management]# netstat -lntp|grep java

    tcp6      0      0 127.0.0.1:8011          :::*                    LISTEN      10502/java

    tcp6      0      0 :::27056                :::*                    LISTEN      10502/java #------随机端口

    tcp6      0      0 :::8021                :::*                    LISTEN      10502/java

    tcp6      0      0 :::6235                :::*                    LISTEN      10502/java #------随机端口

    tcp6      0      0 :::8031                :::*                    LISTEN      10502/java

    tcp6      0      0 :::8041                :::*                    LISTEN      10502/java #-----监控端口

firewall-cmd --permanent --add-port=8041/tcp

firewall-cmd --permanent --add-port=27056/tcp

firewall-cmd --permanent --add-port=6235/tcp

     -测试 JConsole工具



第五章:修改jvm参数,优化

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容