• tomcat部署(一)


    Tomcat部署最佳实践

    标签: linux

    笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流


    tomcat是玩web软件必会技能之一,今天我给大家介绍一下tomcat的部署,监控以及调优。


    一、运行环境

    [root@tomcat ~]# cat /etc/redhat-release 
    CentOS Linux release 7.2.1511 (Core) 
    [root@tomcat ~]# uname -r
    3.10.0-327.el7.x86_64
    [root@tomcat ~]# getenforce 
    Disabled
    [root@tomcat ~]# systemctl status firewalld.service 
    ● firewalld.service - firewalld - dynamic firewall daemon
       Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
       Active: inactive (dead) since Mon 2017-04-24 06:49:46 CST; 1s ago
    [root@tomcat ~]# free -h
                  total        used        free      shared  buff/cache   available
    Mem:           3.7G        128M        3.4G        8.5M        143M        3.4G
    Swap:          1.0G          0B        1.0G
    [root@tomcat ~]# lscpu |egrep -w "(CPU(s):|Model name|cache)"
    CPU(s):                2              #因为小猫比较吃资源,这里用的双核4G 
    Model name:            Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
    L1d cache:             32K
    L1i cache:             32K
    L2 cache:              256K
    L3 cache:              6144K
    
    

    二、准备

    软件包目录:/application/tools
    安装目录:/application/
    tomcat,jdk版本如下,大家可以去我的云盘下载。链接:http://pan.baidu.com/s/1qYS8uGc 密码:97hp
    [root@tomcat tools]# ls /application/tools/
    apache-tomcat-8.0.27.tar.gz  jdk-8u60-linux-x64.tar.gz
    

    三、部署

    1.部署java环境

    [root@tomcat ~]# cd /application/tools/
    [root@tomcat tools]# tar xf jdk-8u60-linux-x64.tar.gz -C /application/
    [root@tomcat tools]# ln -s /application/jdk1.8.0_60 /application/jdk
    source /etc/profile
    java -version
    [root@tomcat tools]# sed -i.ori '$a export JAVA_HOME=/application/jdk
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
    export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar' /etc/profile
    [root@tomcat tools]# source /etc/profile
    [root@tomcat tools]# java -version
    

    2.安装tomcat

    [root@tomcat tools]# tar xf apache-tomcat-8.0.27.tar.gz -C /application/
    [root@tomcat tools]# ln -s /application/apache-tomcat-8.0.27 /application/tomcat
    [root@tomcat tools]# echo 'export TOMCAT_HOME=/application/tomcat'>>/etc/profile
    [root@tomcat tools]# source /etc/profile
    [root@tomcat tools]# chown -R root.root /application/jdk/ /application/tomcat/
    
    

    3.启动服务

    [root@tomcat tomcat]# /application/tomcat/bin/startup.sh 
    

    4.查看日志

    [root@tomcat logs]# tailf catalina.out
    #如果有start Server startup in 592 ms表示启动成功
    24-Apr-2017 19:46:29.229 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 592 ms
    

    5.启动慢问题

    在CentOS启动Tomcat时,启动过程很慢,需要几分钟,经过查看日志,发现耗时在这里:是session引起的随机数问题导致的。Tocmat的Session ID是通过SHA1算法计算得到的,计算Session ID的时候必须有一个密钥。为了提高安全性Tomcat在启动的时候回通过随机生成一个密钥,解决方法如下:
    yum install rng-tools # 安装rngd服务(熵服务,增大熵池)
    systemctl start rngd  # 启动服务
    

    6.web界面说明

    登录


    管理界面

    需要在配置文件添加如下内容

    注意,这里只做测试用,如果在生产环境中会大大增加被入侵的风险,下面优化会讲到


    7.虚拟目录


    8.web管理界面

    通常为了安全,会被这个功能关掉,或者使用VPN链接


    Tomcat多实例

    1.复制Tomcat目录

    #注意之前的软链接
    [root@tomcat ~]# cd /application/
    [root@tomcat application]# cp -a apache-tomcat-8.0.32 tomcat8_1
    [root@tomcat application]# cp -a apache-tomcat-8.0.32 tomcat8_2
    

    2.修改配置文件

    #创建多实例站点目录
    [root@tomcat application]# mkdir -p /data/www/www/ROOT
    #修改默认端口,管理端口,站点根目录
    [root@tomcat tools]# sed -i '22s#8005#8011#;69s#8080#8081#;123s#appBase=".*"# appBase="/data/www/www"#' /application/tomcat8_1/conf/server.xml
    [root@tomcat conf]# sed -i '22s#8005#8012#;69s#8080#8082#;123s#appBase=".*"# appBase="/data/www/www"#' /application/tomcat8_2/conf/server.xml
    

    3.启动服务

    [root@tomcat conf]# /application/tomcat8_1/bin/startup.sh
    [root@tomcat conf]# /application/tomcat8_2/bin/startup.sh
    [root@tomcat ~]# ss -lntp|grep java
    LISTEN     0      100         :::8009                    :::*                   users:(("java",pid=2819,fd=51))
    LISTEN     0      1         ::ffff:127.0.0.1:8010                    :::*                   users:(("java",pid=2819,fd=72))
    LISTEN     0      1         ::ffff:127.0.0.1:8011                    :::*                   users:(("java",pid=2855,fd=60))
    LISTEN     0      1         ::ffff:127.0.0.1:8012                    :::*                   users:(("java",pid=2886,fd=60))
    LISTEN     0      100         :::8080                    :::*                   users:(("java",pid=2819,fd=46))
    LISTEN     0      100         :::8081                    :::*                   users:(("java",pid=2855,fd=46))
    LISTEN     0      100         :::8082                    :::*                   users:(("java",pid=2886,fd=46))
    

    说明:由于tomcat支持大并发能力有限,所有生产中不般不配虚拟主机,而使用多实例。一台机放四台,前面可使用nginx反向代理。


    jpress部署实践

    JPress,一个wordpress的java代替版本,使用JFinal开发。 需要maven支持。这里我也给大家提供了。下载后上传到/application/tools下执行下面的命令。链接:http://pan.baidu.com/s/1boMCXrD 密码:3wg4

    cd /application/tools
    tar xf apache-maven-3.3.9-bin.tar.gz -C /application/
    ln -s /application/apache-maven-3.3.9 /application/maven
    sed -i.ori2 '$a export MAVEN_HOME=/application/maven
    export PATH="$MAVEN_HOME/bin:$PATH"' /etc/profile
    source /etc/profile
    

    把下载好的jpress-web-newest.war解压到/data/www/www/ROOT下

    cd /data/www/www/ROOT
    jar xf /application/tools/jpress-web-newest.war
    

    创建数据库表

    create database jpress;
    grant all on jpress.* to jpress@'10.0.0.%' identified by '123456';
    

    重启tomcat

    for i in {1..2};do /application/tomcat8_$i/bin/shutdown.sh;done
    for i in {1..2};do /application/tomcat8_$i/bin/startup.sh;done
    

    现在浏览器就可以访问了,下面是我上传的两张图片

    张耀的博客: http://www.zyops.com/java-tomcat

    Tomcat监控:http://www.cnblogs.com/Csir/p/6758106.html

    Tomcat调优:http://www.cnblogs.com/Csir/p/6758432.html

  • 相关阅读:
    Java 获取指定日期的方法总结
    【Struts2+Spring3+Hibernate3】SSH框架整合实现CRUD_1.0
    struts2标签Iterator迭代时获取下标
    【转】svn 修改log信息
    pppoe移植到arm上 2.0
    镜像制作
    proc增加节点的一个例子
    libcurl库的使用
    sed & awk Manuals
    用一个函数保存文件
  • 原文地址:https://www.cnblogs.com/Csir/p/6756311.html
Copyright © 2020-2023  润新知