汤姆猫的安装、使用。

先要提供jdk-7u9-linux-x64.rpm(如以上版本)

安装jdk(java需要用到的编译开发工具)

[[email protected] ~]# rpm -vih jdk-7u9-linux-x64.rpm
Preparing...                ########################################### [100%]
   1:jdk                    ########################################### [100%]
Unpacking JAR files...
    rt.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_09/jre/lib/rt.pack
    jsse.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_09/jre/lib/jsse.pack
    charsets.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_09/jre/lib/charsets.pack
    tools.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_09/lib/tools.pack
    localedata.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_09/jre/lib/ext/localedata.pack

安装完后会在/usr/java里出现

将JDK提供一些功能编辑到/etc/profile.d/java.sh,以便方便使用。

source一下配置文件,使用命令 java -version查看java虚拟机的信息。

[[email protected] ~]# java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)

下一步,安装tomcat,把tomcat安装到/usr/local目录下。

[[email protected] ~]# tar xf  apache-tomcat-7.0.42.tar.gz  -C  /usr/local

它会生成一个叫apache-tomcat-7.0.42的目录,为了方便以后的定义配置简便快捷,可以创建一个链接叫tomcat。

[[email protected] local ]# ln -sv apache-tomcat-7.0.42  tomcat
`tomcat‘ -> `apache-tomcat-7.0.42‘

默认tomcat要部署的应用程序的目录为

[[email protected] webapps]# pwd
/usr/local/tomcat/webapps
[[email protected] webapps]# ls
docs  examples  host-manager  manager  ROOT

在tomcat目录中有个work目录,用来将webapps存放的文件编译成.class结尾的类文件。

强烈推荐将tomcat中bin目录下的脚本文件导出至系统,需要编辑/etc/profile.d/tomcat.sh,在里面添加

[[email protected] manager]# catalina.sh version(这里运行成功表示可以看到tomcat的版本以及CPU名称,架构等等信息)
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/latest
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.42
Server built:   Jul 2 2013 08:57:41
Server number:  7.0.42.0
OS Name:        Linux
OS Version:     2.6.32-431.el6.x86_64
Architecture:   amd64
JVM Version:    1.7.0_09-b05
JVM Vendor:     Oracle Corporation
[[email protected] manager]# version.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java

比较规范的作法是用catalina.sh调用/usr/local/tomcat/bin下的脚本,查看catalina。sh的帮助信息。

[[email protected] manager]# catalina.sh --help
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/latest
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Usage: catalina.sh ( commands ... )
commands:
  debug             Start Catalina in a debugger
  debug -security   Debug Catalina with a security manager
  jpda start        Start Catalina under JPDA debugger
  run               Start Catalina in the current window
  run -security     Start in the current window with security manager
  start             Start Catalina in a separate window
  start -security   Start in a separate window with security manager
  stop              Stop Catalina, waiting up to 5 seconds for the process to end
  stop n            Stop Catalina, waiting up to n seconds for the process to end
  stop -force       Stop Catalina, wait up to 5 seconds and then use kill -KILL if still running
  stop n -force     Stop Catalina, wait up to n seconds and then use kill -KILL if still running
  configtest        Run a basic syntax check on server.xml - check exit code for result
  version           What version of tomcat are you running?
Note: Waiting for the process to end and use of the -force option require that $CATALINA_PID is defined

由于catalina默认监听在8080端口上,在启动之前首先要保证你的8080端口没有被占用,然后在去开启服务,catalina.sh start

[[email protected] manager]# catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/latest
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[[email protected] manager]# ss -tnlp | grep 8080
LISTEN     0      100                      :::8080                    :::*      users:(("java",4760,40))

然后客户端win7访问一下,汤姆猫就算安装成功啦。

=========================================================================

tomcat:是由java编程语言编写的web container(Servlet,JSP),每个java项目运行起来以后都表现为一个jvm进程。它的运行过程大概是tomcat由classloader装载到JVM上运行的。

JDK主要提供JVM虚拟机,而JVM虚拟机自己有版本的依赖性。而运行在JVM虚拟机上的java程序却没有依赖性。

tomcat安装时生成的各目录以及定义,例如:

[[email protected] bin]# cd /usr/local/tomcat/
[[email protected] tomcat]# ls
bin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work

bin目录:

[[email protected] tomcat]# cd bin/
[[email protected] bin]# ls
bootstrap.jar                 configtest.bat  memcached-session-manager  startup.bat           version.bat
catalina.bat                  configtest.sh   msm                        startup.sh            version.sh
catalina.sh                   cpappend.bat    setclasspath.bat           tomcat-juli.jar
catalina-tasks.xml            daemon.sh       setclasspath.sh            tomcat-native.tar.gz
commons-daemon.jar            digest.bat      shutdown.bat               tool-wrapper.bat
commons-daemon-native.tar.gz  digest.sh       shutdown.sh                tool-wrapper.sh

提供java的各种脚本,以及自举的jar文件。(自举就是当你启动tomcat的时候,默认并不是启动tomcat,而是JVM,还要tomcat自己在JVM上运行。该过程就是tomcat先启动JVM,再由JVM启动装载自己的过程。)

conf:配置文件目录  server.xml(配置的主文件),tomcat-users.xml(tomcat实现用户认证时, tomcat自己的账号密码) web.xml(tomcat的部署描述符文件)

这里渗透一个部署的概念,部署(deployment)就是java应用程序放在指定路径下,让JVM能够找到它,让web container找到它,必要时访问web资源能够自动加载这个应用程序的所有类文件的过程。

logs:日志,log4j(独特类)java内部专用日志管理的专用类。

lib:库文件和类库文件

temp 临时文件目录

webapps:应用程序部署的位置、路径。

work:把webapps下的所有jsp格式的页面程序文件转换成Servlet程序文件并编译成class文件,编译完的class文件都放到work目录。

重点是tomcat的配置文件都定义了哪些?

[[email protected] tomcat]# cd conf/
[[email protected] conf]# ls
Catalina  catalina.policy  catalina.properties  context.xml  logging.properties  server.xml  tomcat-users.xml  web.xml

主配置文件 server.xml

上下文文件 context.xml:每个webapp都有它自己的默认配置文件,此类配置文件正式用于部署为当前tomcat实例上所有的webapp目录下的META-INF目录中,通常用于定义会话管理器,Realm以及JDBC等。

部署描述符文件 web.xml  部署为当前tomcat实例上所有的webapp目录下提供默认部署的描述符。通常用于为webapp提供基本的Servlet定义和MEM映射表。

用户账号文件、tomcat-users.xml

catalina的策略 catalina.policy 当基于-security选项启动tomcat实例时会读取此配置文件,用于定义java的安全策略,配置访问codebase或某些java类权限。

catalina的属性 catalina.properties :Java 属性定义的文件,用于设定类加载器路径/安全包列表,以及一些调整jvm性能的信息。

logging.properties:定义日志相关的配置信息,如日志级别、文件路径等信息.

tomcat的主配置文件:

每个组件由java类实现,有些组件的实现方式不止一种,有多个组件组成,有些组件可以嵌套别人的组件。

补充一个概念 路径别名,将一个url路径映射至非当前网站站点根目录下的其他目录资源中去。

下面一起来看看server.xml这个主配置文件

CATALINA工作起来的端口。

tomcat的工作端口 8005唯一可以接受的就是SHUTDOWN指令,用telnet连接 127.0.0.1 8005可以发送SHUTDOWN让java进程关闭掉。

[[email protected] tomcat]#  telnet 127.0.0.1 8005
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is ‘^]‘.
SHUTDOWN  
Connection closed by foreign host

现在再查看服务,

另外在主配置文件中分别定义了不同的connector

1、监听在8080的连接器,可以负责响应前段的http请求

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

2、监听在8009的连接器,实现与当你的前段使用apache反向代理过来使用的ajp协议。

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

再次启动tomcat可以使用catalina.sh start

[[email protected] tomcat]# catalina.sh start

当你在开启tomcat以后,在work目录中就有这些目录

其中最后的index_jsp.java就是index的源码,index_jsp.class就是index的类文件。我们响应给用户的就是编译好运行的index_jsp.class

下面这个主页

是由/tomcat/webapps/ROOT提供的

tomcat自带了两个webapp

manager  app(server status)webapp 部署

host-manager (各虚拟主机的管理器)

点击主页上的Manager App会出现要求用户认证的信息

如何点“取消”,就出现如下画面,并提示你从哪提供认证信息。

如果想要编辑,需要编辑/tomcat/conf/tomcat-users.xml文件

在下方任意行中插入:

<role rolename="manager-gui"/>  #定义一个叫manager-gui的角色
<user username="tomcat" password="tomcat" roles="manager-gui"/> #设定账号叫tomcat,密码叫tomcat。

然后catalin.sh stop ; catalina.sh start

[[email protected] conf]# catalina.sh stop ; catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/latest
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/latest
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

再次点击Manager App按钮,输入定义的账号密码(都为tomcat),再次访问出现管理页面。

Page1

部分解释。

Page2

但是,如果用相同的账号密码访问Host-Manager页面,则会出现

Error Page1

所以重新编辑tomcat-users.xml

[[email protected] conf]# vim tomcat-users.xml 添加一个新的认证的用户叫jerry

<role rolename="admin-gui"/>
<user username="jerry" password="jerry" roles="admin-gui"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>

再次catalina.sh stop && catalina.sh start

访问页面。

访问成功。

下面将更深入介绍汤姆猫的更多应用。

时间: 2024-09-30 10:33:10

汤姆猫的安装、使用。的相关文章

在汤姆猫上运行服务

1.cd /usr/local/tomcat/ 2.在此基础上可以创建几个目录,分别叫/tomcat/webapps,在webapps创建libincla目录,并在此目录下分别创建/WEB-INF和并在WEB-INF之下分别创建/classes和/lib,代表我们要部署一个服务了. mkdir /tomcat/webapps –pv cd webapps mkdir libincla [[email protected] libincla]# tree WEB-INF/ WEB-INF/ ├──

用树莓派实现会说话的汤姆猫

会说话的汤姆猫很多人都玩过,对着它说话,它就会用猫的音调重复你说的话.这篇文章就是介绍如何使用树莓派来实现这个功能. 测试设备: 树莓派3B+ ReSpeaker 2-Mics Pi HAT(USB的麦克风应该也可以) 耳机/音箱(需要带插头的) 1.ReSpeaker硬件安装 ReSpeaker是直接扣在树莓派上的,将树莓派的针脚全部插入到ReSpeaker中. 2.ReSpeaker驱动安装 通过SSH连接到树莓派后,首先更新包源,然后安装git,下一步会使用git下载代码: sudo ap

[iOS基础控件 - 3.4] 汤姆猫

需求: 1.点击按钮播放相应动画 2.点击汤姆猫身体部分(头.脚.尾巴)显示动画 3.当前正在播放动画不可触发其他动画 4.优化缓存.内存管理 A.序列帧动画 #1. png格式的文件可以不带扩展名访问,而且可以放到”Images.scassets”的组中预览,jpg只能放到support file中了,而且访问的时候要写上扩展名 #2. 在ViewController中的属性栏可以设置storyboard模型的大小 #3. 拖入文件夹的时候要选择“Create Groups"才能正确引用,不要

汤姆猫游戏核心代码 ios/objective-c

#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIImageView *tomImageView; @end @implementation ViewController //敲汤姆猫的头部.前提:一系列动画已经导入. (IBAction)btnKnockOutonclicked:(UIButton *)sender{ [self tomImate

一个不会说话的汤姆猫游戏源码

实现“会说话的汤姆猫” App 互动效果,除了不能发出声音,动画效果与原App十分类似.基本原理是,根据选择的不同动作,播放对应的图像序列.支持图片缓存. 游戏项目源码下载:http://code.662p.com/view/7150.html 详细说明:http://ios.662p.com/thread-1874-1-2.html

iOS开发:纯代码实现汤姆猫小游戏

演示效果如下: 代码如下: 1 // 2 // CKViewController.m 3 // 纯代码实现汤姆猫 4 // 5 // Created by FrankChen on 14-12-10. 6 // Copyright (c) 2014年 diaozhatian. All rights reserved. 7 // 8 9 #import "CKViewController.h" 10 11 @interface CKViewController () 12 { 13 //

IOS 开发笔记-基础 UI(7)汤姆猫(UIImageView 的序列帧动画、图片加载,方法重构、Bundle 图片素材)

使用UIImageView.UIButton实现一个综合小案例---汤姆猫 回忆:UIImageView 来自UIView,UIView 来自UIResponder,UIButton 来自UIControl,UIControl 来自UIView 单独看实现,代码实现其实比较简单,但是创意很难得,美工要求很高! 是一个了不起的游戏! 功能分析 (1)点击对应的按钮后,让汤姆猫展现对应的动画 步骤分析 (1)搭建UI界面,同时也是准备素材 (2)监听按钮点击 (3)根据点击的按钮执行对应的动画 说明

IOS 学习04 汤姆猫开发

IOS开发,一个简单的汤姆猫开发,截图如下: 1.1以前一直觉得这个小游戏不错,很好玩,现在学习IOS才发现其实这个程序真心很简单,其实这个还不是个完整,还没有声音,以后再来完整. 1.2 创建项目,导入图片,在项目images.xcassets中保存PNG图片,这里只保存6个按键图片,图片文件直接拉进就可以,如下图: 1.3 相信大多数人都玩过这个小游戏,其实这就是一个动画,而动画就是由多个图片连在一起播放的,最后看起来就是动画了. 1.4 知道了动画的原理,那就好办了,我们再来导入按键相对应

unity汤姆猫自动检测录音,不说话自动播放

unity汤姆猫自动检测录音,不说话自动播放 脚本 using System.Collections.Generic; using System.Linq; using UnityEngine; [RequireComponent(typeof(AudioSource))] public class MicrophoneInput : MonoBehaviour { //每秒种产生0.4M数据量 private LinkedList<float> recordData = new Linked