美文网首页
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