zoukankan      html  css  js  c++  java
  • Tomcat部署与使用

    Tomcat简介

        Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。

        Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,tomcat是jave2ee的不完整实现。在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。Tomcat和Nginx、Apache(httpd)、lighttpd等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Nginx/Apache服务器。目前Tomcat最新版本为9.0。Java容器还有resin、weblogic等。

    tomcat:JWS(sun)+Jserv(ASF)

    java:

    tomcat软件版本选择

    生产环境版本和开发协商

    tomcat和jdk版本要并行 tomcat8 -- jdk 8

    安装JDK(以后所有涉及到java应用都需要安装)tomcat

    部署java和tomcat

    jdk下载

        JDK是 Java 语言的软件开发工具包,我们使用其中一个工具 JVM (java 虚拟机)

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

    Tomcat下载

    1. http://tomcat.apache.org/

    部署java环境

    1. mkdir -p /application/tools
    2. cd /application/tools
    3. tar xf jdk-8u60-linux-x64.tar.gz -C /application/
    4. ln -s /application/jdk1.8.0_60 /application/jdk
    5. 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
    6. source /etc/profile
    7. [root@tomcat tools]# java -version
    8. java version "1.8.0_60"
    9. Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
    10. Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

    安装tomcat

    1. tar xf apache-tomcat-8.0.27.tar.gz -C /application/
    2. ln -s /application/apache-tomcat-8.0.27 /application/tomcat
    3. echo 'export TOMCAT_HOME=/application/tomcat'>>/etc/profile
    4. source /etc/profile
    5. chown -R root.root /application/jdk/ /application/tomcat/
    6. /application/tomcat/bin/version.sh 显示版本信息

    tomcat的目录结构

    [root@web03 tools]# cd /application/tomcat/

    [root@web03 tomcat]# tree -L 1

    .

    ├── bin startup.sh shutdown.sh catalina.sh(核心)

    ├── conf server.xml(主配置文件) tomcat-users.xml

    ├── lib

    ├── LICENSE

    ├── logs 日志目录 catalina.out tomcat实时日志

    ├── NOTICE

    ├── RELEASE-NOTES

    ├── RUNNING.txt

    ├── temp

    ├── webapps 站点目录

    └── work

    配置文件conf

    • server.xml主配置文件
    • context.xml每个webapp都可以有专用的配置文件,这些配置文件通常位于webapp应用程序目录下的WEB-INFO目录中,用于定义会话管理器、JDBC等:confi/context.xml是为各webapp提供默认配置
    • web.xml每个webapp部署之后才能被访问;此文件则用于为所有的webapp提供默认部署相关的配置
    • tomcat-users.xml用户认证的账号和密码配置文件
    • catalina.policy当使用-security选项启动tomcat实例时会读取此配置文件来实现其安全运行策略
    • catalina.propertiesJava属性的定义文件,用于设定类加载器路径等,以及一些JVM性能相关的调优参数
    • logging.properties日志相关的配置信息

    webapps网站目录

    1. [root@tomcat tomcat]# cd webapps/
    2. [root@tomcat webapps]# ll
    3. total 20
    4. drwxr-xr-x 14 root root 4096 Oct 5 12:09 docs #→tomcat帮助文档
    5. drwxr-xr-x 6 root root 4096 Oct 5 12:09 examples #→web应用实例
    6. drwxr-xr-x 5 root root 4096 Oct 5 12:09 host-manager #→管理
    7. drwxr-xr-x 5 root root 4096 Oct 5 12:09 manager #→管理
    8. drwxr-xr-x 3 root root 4096 Oct 5 12:09 ROOT #→默认网站根目录

    启动Tomcat

    #→启动程序/application/tomcat/bin/startup.sh

    1. [root@tomcat ~]# /application/tomcat/bin/startup.sh
    2. Using CATALINA_BASE: /application/tomcat
    3. Using CATALINA_HOME: /application/tomcat
    4. Using CATALINA_TMPDIR: /application/tomcat/temp
    5. Using JRE_HOME: /application/jdk
    6. Using CLASSPATH: /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar
    7. Tomcat started.

    #→关闭程序/application/tomcat/bin/shutdown.sh

    查看java是否运行

    查看查看tomcat有没有运行

    10.0.0.17:8080

    tomcat 管理功能

    进入tomcat页面点击management app 会弹出密码框 默认是没有密码需要自己添加 需要配置管理用户 即配置tomcat-users.xml

    1. [root@tomcat ~]# vim /application/tomcat/conf/tomcat-users.xml
    2. …………
    3. <role rolename="manager-gui"/>
    4. <role rolename="admin-gui"/>
    5. <user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>
    6. </tomcat-users> #→在此行前加入上面三行
    7. [root@tomcat ~]# /application/tomcat/bin/shutdown.sh
    8. [root@tomcat ~]# /application/tomcat/bin/startup.sh

    重启tomcat

    1. /application/tomcat/bin/shutdown.sh
    2. /application/tomcat/bin/startup.sh

    就可以进入management app

    management使用

    代码直接上线

    上传war文件自动解压

    就可以直接访问了

    查看目录文件

    host manager使用

    Tomcat主配置

    1. vim /application/tomcat/conf/server.xml
    2.    <Server port="8005" shutdown="SHUTDOWN"> java端口
    3.     <Connector port="8080" protocol="HTTP/1.1" tomcat端口
    4.                connectionTimeout="20000"
    5.                redirectPort="8443" />
    6.     <!--<Connector port="8009" protocol="AJP/1.3" java端口 redirectPort="8443" />-->

    自定义url规则(nginx location)

    备份配置文件

    1. cp /application/tomcat/conf/server.xml{,.ori}

    修改配置文件。

    这个url的修改跟nginx location类似

    1. nginx location
    2. root html
    3. location /
    4. location /obbba/
    5. {
    6.   root /data/olbba/
    7. }

    在125行下添加下面代码

    1. vim /application/tomcat/conf/server.xml
    2. # nginx server root html;
    3.       <Host name="localhost" appBase="webapps"
    4.             unpackWARs="true" autoDeploy="true">
    5.       <Context path="" docBase="/application/tomcat/webapps/memtest" debug="0" reloadable="false" crossContext="true"/>
    6.       <Context path="/40team" docBase="/application/tomcat/webapps/memtest" debug="0" reloadable="false" crossContext="true"/>

    <Context path="" docBase="/application/tomcat/webapps/memtest" debug="0"

    reloadable="false" crossContext="true"/>

    Context === location

    path="" === /obbba/路径默认 docBase="/application/tomcat/webapps/memtest 指向访问目录

    搭建Jpress

    类似wordpess博客站点

    环境:Linux Tomcat JDK MySQL(Mariadb)

    安装mariadb-server

    1. yum -y install mariadb-server
    2. systemctl start mariadb.service
    3. mysql
    4. create database jpress DEFAULT CHARACTER SET utf8;
    5. grant all on jpress.* to jpress@'localhost' identified by '123456';

      下载jpress

    https://github.com/JpressProjects/jpress

    上传到 /application/tomcat/webapps目录 tomcat会自动解压

    访问页面开始安装

    http://10.0.0.17:8080/jpress-web-newest/

    tomcat启动过慢

    现象

    在CentOS7启动Tomcat时,启动过程很慢,需要几分钟,经过查看日志,发现耗时在这里:是session引起的随机数问题导致的。Tocmat的Session ID是通过SHA1算法计算得到的,计算Session ID的时候必须有一个密钥。为了提高安全性Tomcat在启动的时候会通过随机生成一个密钥。

    1. 22-Apr-2017 19:33:07.623 INFO [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of
    2.  SecureRandom instance for session ID generation using [SHA1PRNG] took [55,507] milliseconds.
    3. 22-Apr-2017 19:33:07.653 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web appli
    4. cation directory /application/apache-tomcat-8.0.27/webapps/ROOT has finished in 55,935 ms

    主要原因是生成随机数的时候卡住了,导致tomcat启动不了。

    是否有足够的熵来用于产生随机数,可以通过如下命令来查看

    1. [root@oldboy tools]# cat /proc/sys/kernel/random/entropy_avail
    2. 7

    为了加速/dev/random提供随机数的速度,你可以通过操作设备的外设,让其产生大量的中断(如网络传输数据,按键,移动鼠标,在命令行敲几个不同的命令,俗称聚气。

    cat /dev/random 会消耗能量

    方法1:

    vim $JAVA_HOME/jre/lib/security/java.security

    securerandom.source=file:/dev/random

    改为

    securerandom.source=file:/dev/urandom

    方法2:

    vim $TOMCAT_HOME/bin/catalina.sh

    if [[ "$JAVA_OPTS" != *-Djava.security.egd=* ]]; then

    JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/urandom"

    fi

    这个系统属性egd表示熵收集守护进程(entropy gathering daemon)

    方法3:(推荐)

    yum install rng-tools # 安装rngd服务(熵服务,增大熵池)

    systemctl start rngd # 启动服务

    给新手建议:在虚拟机内,AMDCPU不支持第三种方法!

  • 相关阅读:
    mysql数据库引擎myisam与innodb
    Java观察者模式的理解
    线程安全的单例模式
    线程相关
    java 线程读写锁
    原子变量AtomicInteger
    接口文档管理,版本管理工具,阿里RAP的windows下部署
    谷歌浏览器报错:跨域问题处理( Access-Control-Allow-Origin)_ 用于本地测试的快捷解决方法
    mysql bin-log日志记录
    阿里RDS中插入emoji 表情插入失败的解决方案
  • 原文地址:https://www.cnblogs.com/jksbaduen/p/7899894.html
Copyright © 2011-2022 走看看