zoukankan      html  css  js  c++  java
  • tomcat学习篇

    要求:

    1. Apache HTTP Server服务器添加JSP网页支持。
    2. 能够访问Tomcat容器的Web管理界面,以便管理各种JSPServelet应用。

    u 知识提示

    在各种企业级网站应用系统中,JSP也是使用较多的一种网站开发语言,对于这样的网站服务器,必须能够支持Java环境、JSP解析,比如安装Tomcat、Jboss等JSP容器。另外一方面,Apache HTTP Server对静态HTML页面的处理能力要更加优秀一些,因此若能将Apache与Tomcat等JSP容器整合在一起使用,将可以获得更好的网站服务体验。

    这种情况下,Apache仍然作为浏览器访问的前端服务,当客户机请求访问*.jsp网页时,再自动调用后端的tomcat服务进行解析,并将结果页面返回给客户机。其间的沟通过程需要安装连接器mod_jk来完成。

    一、安装并配置jdk开发环境

    1安装

    [root@localhost ~]# cp /var/ftp/pub/jdk-6u20-linux-i586.bin /usr/local/

    [root@localhost ~]# cd /usr/local/

    [root@localhost local]# chmod a+x jdk-6u20-linux-i586.bin

    [root@localhost local]# ./jdk-6u20-linux-i586.bin

    执行jdk安装程序后将会显示软件许可协议,按回车或空格键翻页至末尾,按照提示输入yes”回车确认,等待1~2分钟左右即可完成安装。

    2配置

    1jdk的安装目录及执行程序创建链接文件,以方便使用。

    [root@localhost ~]# alternatives --install /usr/bin/java java /usr/local/jdk1.6.0_20/bin/java 1

    [root@localhost ~]# alternatives --install /usr/bin/javac javac /usr/local/jdk1.6.0_20/bin/javac 1

    [root@localhost ~]# alternatives --config java

    [root@localhost ~]# alternatives --config java

     

    共有 个程序提供“java”。

     

      选择    命令

    -----------------------------------------------

       1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java

    *+ 2           /usr/lib/jvm/jre-1.6.0-openjdk/bin/java

       3           /usr/local/jdk1.6.0_20/bin/java

     

    按 Enter 来保存当前选择[+],或键入选择号码:3 

    [root@localhost ~]# alternatives --config javac

    共有 个程序提供“javac”。

      选择    命令

    -----------------------------------------------

       1           /usr/lib/jvm/java-1.4.2-gcj/bin/javac

    *+ 2           /usr/lib/jvm/java-1.6.0-openjdk/bin/javac

       3           /usr/local/jdk1.6.0_20/bin/javac

    按 Enter 来保存当前选择[+],或键入选择号码:3

    2修改/etc/profile文件,添加Java开发环境需要的变量设置。

    [root@localhost ~]# vi /etc/profile

    …… //省略部分内容

    JAVA_HOME=/usr/local/jdk1.6.0_20

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

    PATH=$JAVA_HOME/bin:$PATH

    export JAVA_HOME CLASSPATH PATH

    [root@localhost ~]# source /etc/profile

    3.测试

    1查看安装的jdk程序版本信息。

    [root@localhost ~]# java -version

    java version "1.6.0_20"

    Java(TM) SE Runtime Environment (build 1.6.0_20-b02)

    Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)

    2编写一个java测试小程序,并编译执行。

    [root@localhost ~]# vi HelloWorld.java

    public class HelloWorld {

        public static void main(String args[]) {

            System.out.println("HelloWorld!!");

        }

    }

    [root@localhost ~]# javac HelloWorld.java               //编译程序

    [root@localhost ~]# java HelloWorld                    //运行HelloWorld.class程序

    HelloWorld!!                                        //显示运行结果

     

     

    二、安装并配置Tomcat容器

     

    1.安装

     

    Tomcat的安装过程非常简单,只需要将源码包解压至目的文件夹即可。

     

    [root@localhost ~]# tar zxf apache-tomcat-7.0.23.tar.gz

     

    [root@localhost ~]# mv apache-tomcat-7.0.23 /usr/local/tomcat

     

    2配置

    1Tomcat的安装目录及启动、关闭服务的脚本创建链接文件,方便使用。

    [root@localhost ~]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/sbin/tomcat-up

    [root@localhost ~]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/sbin/tomcat-down

     

    2修改/etc/profile文件,设置Tomcat服务需要使用的变量CACTLINA_HOME

    [root@localhost ~]# vi /etc/profile                  //修订原有的JDK环境

    …… //省略部分内容

    JAVA_HOME=/usr/local/jdk1.6.0_20

    CATALINA_HOME=/usr/local/tomcat

    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib/servlet-api.jar

    PATH=$JAVA_HOME/bin:$PATH

    export JAVA_HOME CATALINA_HOME CLASSPATH PATH

    [root@localhost ~]# source /etc/profile

     

    3修改tomcat-users.xml文件,添加管理员帐户“benet”设置。

    [root@localhost ~]# vi /usr/local/tomcat/conf/tomcat-users.xml

    <?xml version='1.0' encoding='utf-8'?>

    <tomcat-users>

      <role rolename="manager-gui"/>

      <user username="benet" password="pwd123" roles="manager-gui"/>

    </tomcat-users>

     

    3测试

    1启动tomcat服务,并确认tomcat服务的监听状态。

    [root@localhost ~]# tomcat-up

    Using CATALINA_BASE:   /usr/local/tomcat

    Using CATALINA_HOME:   /usr/local/tomcat

    Using CATALINA_TMPDIR: /usr/local/tomcat/temp

    Using JRE_HOME:        /usr/local/jdk1.6.0_20

    Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar 

    [root@localhost ~]# netstat -anpt | grep java

    tcp        0      0 :::8009        :::*          LISTEN      2591/java

    tcp        0      0 :::8080        :::*          LISTEN      2591/java

    2访问http://your_server_ip:8080/ ,可以看到tomcatWeb首页

    3通过“Manager App”按钮可以经登录后对Tomcat进行管理

    三、将Tomcat服务与Apache服务进行连接

    1安装mod_jk模块。

    [root@localhost ~]# cp mod_jk-1.2.31-httpd-2.2.x.so /usr/local/apache2/modules/

    2调整Apache服务、Tomcat服务的相关配置。

    1修改httpd.conf配置文件,添加jdk调用设置。

    [root@localhost ~]# vi /usr/local/apache2/conf/httpd.conf

    …… //省略部分内容

    DocumentRoot "/usr/local/apache2/htdocs"

    …… //省略部分内容

    LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.x.so

    JkWorkersFile conf/workers.properties

    JkLogFile logs/mod_jk.log

    JkShmFile logs/mod_jk.shm

    JkLogLevel notice

    JkMount /*/*.jsp benet

    JkMountCopy All

    AddType application/x-jsp .jsp

    2添加tomcat配置文件,并建立Web应用目录链接。

    [root@localhost ~]# vi /usr/local/apache2/conf/workers.properties

    worker.list=benet

    worker.benet.port=8009

    worker.benet.host=localhost

    worker.benet.type=ajp13

    worker.benet.lbfactor=1

    [root@localhost ~]# cd /usr/local/tomcat/ 

    [root@localhost tomcat]# mv webapps webapps.origin

    [root@localhost tomcat]# ln -sf /usr/local/apache2/htdocs/ webapps

    3重启apachetomcat服务

    [root@localhost tomcat]# tomcat-down ; tomcat-up 

    [root@localhost tomcat]# /usr/local/apache2/bin/apachectl restart

    3.部署JSP应用目录

    JSP应用上传到Apache的网页根目录下(如/apps/),并链接到Tomcatwebaaps/。本例中将创建一个JSP测试网页showtime.asp,用来输出系统时间。

    [root@localhost ~]# mkdir /usr/local/apache2/htdocs/apps/

    [root@localhost ~]# vi /usr/local/apache2/htdocs/apps/showtime.jsp

    <%@page language="java" import="java.util.*" %>

    <h2>Now, the time&date is: <%out.println(new Date());%></h2>

    4.访问http://192.168.4.11/apps/showtime.jsp 进行测试

    网页中应正常输出提示信息机当前的系统时间

    常用命令:

    [root@yz6205 ~]# jps
    20232 Bootstrap
    6550 Jps

    获取java进程信息
    [root@yz6205 ~]# jps -lvm
    20232 org.apache.catalina.startup.Bootstrap start -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp
    6571 sun.tools.jps.Jps -lvm -Denv.class.path=.:/usr/local/jdk1.6.0_45/lib:/usr/local/jdk1.6.0_45/jre/lib -Dapplication.home=/usr/local/jdk1.6.0_45 -Xms8m

    [root@yz6205 ~]#jstack

    [root@yz6205 ~]# jmap 

    [root@yz6205 ~]# jhat

    JVM故障排除:
    1.jps 获取进程的PID
    2.jstack pid >> java.txt 导出CPU占用高进程的线程栈
    3,top -H -p PID 查看对应进程的那个线程占用CPU过高
    4,echo “obase=16;PID” |bc 将线程的PID转换为16进制
    5,在第二部导出的java.txt 中查找转换为16进制的线程PID,找到对应的线程栈
    6,分析负载高的线程栈都是什么业务操作,优化程序并处理问题

     

  • 相关阅读:
    表单生成器(Form Builder)之伪造表单数据番外篇——随机车辆牌照
    javascript随机数发现的一个parseInt函数的问题
    在Docker中体验数据库之Microsoft SQL Server
    fab 菜单实现—圆形、半圆、扇形、直线、射线
    fab 菜单实现之前传-钟表表盘
    MySQL安装配置(解压版)
    Django创建App并简单实现登录模块
    Django简单应用的实现
    Django环境搭建
    手写Python中列表和字符串的反转
  • 原文地址:https://www.cnblogs.com/liyongsan/p/5599115.html
Copyright © 2011-2022 走看看