美文网首页
Centos7下安装tomcat实例并开启jmx和设置jvm参数

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

作者: 杜永龙 | 来源:发表于2018-02-06 06:29 被阅读0次

后续再继续优化


基本环境: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参数,优化

相关文章

网友评论

      本文标题:Centos7下安装tomcat实例并开启jmx和设置jvm参数

      本文链接:https://www.haomeiwen.com/subject/njuwjxtx.html