共计 9233 个字符,预计需要花费 24 分钟才能阅读完成。
服务概述
1、Tomcat 是什么?
Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。
Tomcat 和 IIS 等 Web 服务器一样,具有处理 HTML 页面的功能。不过,Tomcat 处理静态 HTML 的能力不如 Apache 服务器。目前 Tomcat 最新版本为 8.0.0-RC1 (alpha) Released。JSP 全名为 Java Server Pages,中文名叫 java 服务器页面,是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术有点类似 ASP 技术,它是在传统的网页 HTML 文件中插入 Java 程序段和 JSP 标记,从而形成 JSP 文件,后缀名为.jsp。支持 JSP 语言,收费 ls、版 web 服务器:Oracle 的 weblogic;IBM 的 websphere
Tomcat 是一个应用服务器。比如,假设我们浏览 sina 网的网页,而 sina 网的所有网页是配置在一个 Tomcat 服务器上的,那么,如果没有这个 Tomcat 来提供服务器端的服务的话,那你就打不开 sina 网的任何网页了
模式:B/S 模式
端口: 8080
1)关于 java 的相关概念:
JDK :java development kit (套件)。简单的说 JDK 是面向开发人员使用的 SDK,它提供了 Java 的开发环境和运行环境。
SDK 是 Software Development Kit 一般指软件开发包,可以包括凼数库、编译程序等。
JRE: 是 Java Runtime Enviroment 是指 Java 的运行环境,是面向 Java 程序的使用者,而不是开发者。
JVM: java virtual machineJVM 就是我们常说的 java 虚拟机。在 JDK 的安装目录里你可以找到 jre 目录里面有两个文件夹 bin 和 lib, 在这里可以认为 bin 里的就是 jvm,lib 中则是 jvm 工作所需要的类库,而 jvm 和 lib 和起来就称为 jre。
2、Apache 和 Tomcat 的区别:
Apache 只是一个 Web 服务器,可以作为独立的 web 服务器来运行,不过只支持静态网页,如 ASP、PHP、CGI、JSP 等动态网页的就显得无能为力。
Tomcat 也可以作为独立的 web 服务器来运行。但 Tomcat 也是应用(Java)服务器,它只是一个Servlet 容器(生成动态 Web 内容)。
由于 Apache 解释静态页面要比 tomcat 快速而且稳定, 基于以上原因,一个现实的网站使用一个 Apache 作为 Web 服务器,为网站的静态页面请求提供服务;并使用 Tomcat 服务器作为一个 Servlet/JSP 插件,显示网站的动态页面;
3、Apache+Tomcat 整合的好处:
1). Apache 主要用来解析静态文本, 如 html,tomcat 虽然也有此功能,但 apache 能大大提高效率,对于并发数较大的企业级应用,能更好的显示 apache 的高效率;
2)Tomcat 用来解析 jsp,servlet 等, 所有的客户请求首先会发送到 Apache,如果请求是静态文本则由 apache 解析,并把结果返回给客户端,如果是动态的请求,如 jsp,apache 会把解析工作交给 tomcat,由 tomcat 进行解析(这首先要两者现实整合),tomcat 解析完成后,结果仍是通过 apache 返回给客户端,这样就可以达到分工合作, 实现负载均衡,提高系统的性能!而且因为 JSP 是服务器端解释代码的,这样整合可以减少 Tomcat 的服务开销。
4、Apache+Tomcat 整合的原理
作为Apache 下面的子项目,Tomcat 与 Apache 之间有着天然的联系。在实际操作中,主要是 Apache 作为主服务器运行,当监听到有 jsp 或者 servlet 的请求时,将请求转发给 tomcat 服务器,由 tomcat 服务器进行解析后,发回 apache,再由 apache 发回用户。
在 tomcat 中有两个监听的端口,一个是 8080 用于提供 web 服务, 一个是 8009 用于监听来自于 apache 的请求。当 apache 收到 jsp 或者 servlet 请求时,就向 tomcat 的 8009 端口发送请求,交由 tomcat 处理后,再返回给 apache,由 apache 返回给客户。
一:实验目标
实战 : 实现tomcat 使用用户密码登录
实战:实现JSP 通过 Tomcat 连接 MySQL
二:实验环境
服务端:linuxidc63.com IP:192.168.1.63
客户端:linuxidc64.com IP:192.168.1.64
三:实验步骤
1、安装JDK
1)准备相关软件包:
jdk-7u71-linux-x64.rpm
apache-tomcat-7.0.27.tar.gz #tomcat 安装包
mysql-connector-java #用于使用 java 连接 mysql 数据库.mysql 数据库连接器。
mysql-connector-java-5.1.34.tar.gz
2)安装及配置 Java 运行环境—jdk。升级了 jdk 的版本
[root@linuxidc63~]#rpm-ivh jdk-7u71-linux-x64.rpm
[root@linuxidc63~]#rpm –pql /root/jdk-7u71-linux-x64.rpm# 通过查看 jdk 的信息可以知道 jdk 的安装目录在 /usr/java
Linux export 命令参数
功能说明:设置或显示环境变量。
语法:export[-fnp][变量名称]=[变量设置值]
例:
[root@linuxidc63 ~]# A=”aaa”
[root@linuxidc63 ~]# echo $A
aaa
[root@linuxidc63 ~]# export B=”bbb”
[root@linuxidc63 ~]# echo $B
bbb
3)修改环境变量:
[root@linuxidc63~]#vim /etc/profile# 在文件的最后,添加如下内容:
export JAVA_HOME=/usr/java/jdk1.7.0_71
export JAVA_BIN=/usr/java/jdk1.7.0_71/bin
export PATH=${JAVA_HOME}/bin:$PATH
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
注释:
exportJAVA_HOME=/usr/java/jdk1.7.0_71#java 家目录
exportJAVA_BIN=/usr/java/jdk1.7.0_71/bin#java 可执行文件目录
exportPATH=${JAVA_HOME}/bin:$PATH# 修系统环境变量
exportCLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar# 类路径
[root@tomcat~]#source /etc/profile# 使配置文件生效
4)验证 java 运行环境是否安装成功:
[root@linuxidc63~]#java -version
javaversion”1.7.0_71″
Java(TM)SERuntimeEnvironment(build1.7.0_71-b14)
JavaHotSpot(TM)64-BitServerVM(build24.71-b01,mixedmode)
# 如果出现安装的对应版本,说明 java 运行环境已经安装成功。
2、安装tomcat 提升服务器性能:
注:tomcat-native.tar.gz #这个软件包在 tomcat 的 bin 目录下已经提供,不需要再下载了。
具体的安装与配置
1)安装及配置 tomcat
Tomcat 有两种安装方式,一种是直接解压就可以使用的二进制的文件。第二种是编译安装。采用第一种方法,因为在官网默认下载的便是第一种二进制的文件。
[root@linuxidc63 ~]# tar zxvf apache-tomcat-7.0.27.tar.gz
[root@linuxidc63 ~]# ls apache-tomcat-7.0.27/bin/ #执行文件在这个地方
[root@linuxidc63 ~]# mv apache-tomcat-7.0.27 /usr/local/tomcat/
[root@linuxidc63 ~]# cd /usr/local/tomcat/
[root@linuxidc63 tomcat]# vim webapps/ROOT/index.jsp #默认首页 , 网站根目录
注:/usr/local/tomcat/webapps/ROOT/ 网站根目录
2)为 tomcat 的启动创建一个 Sysv 的管理脚本
[root@linuxidc63 tomcat]# vim /etc/init.d/tomcat #写入以下内容
#!/bin/bash
# Tomcat init script for linux.
# chkconfig: 2345 96 14
# description: The Apache Tomcat server/JSP container
JAVA_OPTS=’-server -Xms64m -Xmx128m’
JAVA_HOME=/usr/java/jdk1.7.0_71
CATALINA_HOME=/usr/local/tomcat #指定 tomcat 家目录
$CATALINA_HOME/bin/catalina.sh $* #指定运行或关闭 tomcat 的脚本
[root@linuxidc63tomcat]#ls /usr/local/tomcat/bin/catalina.sh
/usr/local/tomcat/bin/catalina.sh
说明:
JAVA_OPTS=’-Xms64m-Xmx128m’# 是用来设置 JVM 相关运行参数的变量。
-Xms:初始 Heap(堆)大小,使用的最小内存,cpu 性能高时此值应设的大一些
-Xmx:javaheap 最大值,使用的最大内存上面两个值是分配 JVM 的最小和最大内存,取决于硬件物理内存的大小,建议设为物理内存的一半。
3)设置开机启动:
[root@linuxidc63 ~]#chkconfig –add tomcat
[root@linuxidc63 ~]# chkconfig –list tomcat
tomcat0:off1:off2:on3:on4:on5:on6:off
[root@linuxidc63 ~]#chmod +x /etc/init.d/tomcat
[root@linuxidc63 ~]#service tomcat start# 启动 tomcat 服务
[root@linuxidc63tomcat]#netstat –antup | grep 8080
tcp00:::8080:::*LISTEN4220/java
4)浏览器登录 Tomcat 测试:
通过浏览器访问tomcat 所提供的网站,上面我们已经知道 tomcat 可以单独提供 Web 服务的。
http://192.168.1.63:8080/
点击【ManagerApp】,进入管理页面的时候,出现信息:
5)添加账号密码
[root@linuxidc63 ~]# vim /usr/local/tomcat/conf/tomcat-users.xml #在文件最后改:
改:
<!–
<rolerolename=”tomcat”/>
<rolerolename=”role1″/>
<userusername=”tomcat”password=”tomcat”roles=”tomcat”/>
<userusername=”both”password=”tomcat”roles=”tomcat,role1″/>
<userusername=”role1″password=”tomcat”roles=”role1″/>
–>
为:
<tomcat-users>
<!–
<role rolename=”tomcat”/>
<role rolename=”role1″/>
<user username=”tomcat” password=”tomcat” roles=”tomcat”/>
<user username=”both” password=”tomcat” roles=”tomcat,role1″/>
<user username=”role1″ password=”tomcat” roles=”role1″/>
–>
<role rolename=”manager-gui”/>
<user username=”mk” password=”123456″ roles=”manager-gui”/>
</tomcat-users>
# 添加用户角色:manager-gui。添加了用户:mk 密码:123456
6)重新启动 tomcat 服务并测试登录
[root@linuxidc63 ~]#service tomcat stop
[root@linuxidc63 ~]#service tomcat start
重新登陆,并使用设置的用户名和密码登陆,登陆后的界面如图:
7)安装 tomcat-native
Tomcat 可以使用 apr 技术来提供更好的伸缩性、性能。用来提高 tomcat 的性能。
tomcat native 在具体的运行平台上,提供了一种优化技术,它本身是基于 ARP(Apache Portable(轻便)Runtime)技术 tomcat 可以利用 apache 的 apr 接口,使用操作系统的部分本地操作,从而提升性能。APR 提升的是静态页面处理能力
详细介绍:http://tomcat.apache.org/native-doc/
依赖的软件包:apr-devel,openssl-devel
[root@linuxidc64 tomcat]# yum install -y apr-devel openssl
[root@linuxidc63 tomcat]# cd /usr/local/tomcat/bin
[root@linuxidc63 bin]# ls tomcat-native.tar.gz #在这个目录下有 tomcat-native.tar.gz 文件
tomcat-native.tar.gz
[root@linuxidc63 bin]# source /etc/profile
[root@linuxidc63 bin]# tar -zxvf tomcat-native.tar.gz
[root@linuxidc63 bin]# cd tomcat-native-1.1.23-src/jni/native/
[root@tomcat native]# ./configure –with-apr=/usr/ –with-ssl
[root@tomcat native]# make && make install
8)安装 MySQL 的连接器
[root@linuxidc63 ~]# tar -zxvf mysql-connector-java-5.1.34.tar.gz
[root@linuxidc63 ~]# cd mysql-connector-java-5.1.34
[root@linuxidc63 mysql-connector-java-5.1.34]# ls
build.xml COPYING mysql-connector-java-5.1.34-bin.jar README.txt
CHANGES docs README src
[root@linuxidc63 mysql-connector-java-5.1.34] cp mysql-connector-java-5.1.20-bin.jar /usr/local/tomcat/lib/ #复制过去这个 jar 包就可以了
[root@linuxidc63 tomcat]# service tomcat stop
[root@linuxidc63 tomcat]# service tomcat start
9)安装 mysql:
[root@linuxidc64 ~]# yum install mysql-server -y
[root@linuxidc64 ~]# service mysqld restart
[root@linuxidc64 ~]# mysqladmin -uroot password 123456 #设置密码
10)设置 mysql 数据库默认编码为 utf8
[root@linuxidc64 ~]# vim /etc/my.cnf # 在配置文件中添加红色标记内容
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
default-character-set=utf8
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[root@linuxidc64 ~]# service mysqld restart
11)创建测试数据库
注:确认上面是UFT8 后,我们就来创建个测试数据库。注意您的终端也要是 UTF8 编码啊,否则中文会出现乱码!
[root@linuxidc64 ~]# mysql -uroot -p123456
mysql> create database tomcat;
mysql> use tomcat;
mysql> create table tt(id int,name varchar(128));
mysql> insert into tt values(1,’mk’);
mysql> insert into tt values(2,’linuxidc’);
ysql> grant all on tomcat.* to tomcat@localhost identified by ‘tomcat‘;
mysql> exit
[root@linuxidc64 ~]# mysql -utomcat -ptomcat #测试 tomcat 帐号。
12)测试主页:
[root@linuxidc63 ROOT]# pwd
/usr/local/tomcat/webapps/ROOT
# 注:复制时,删除多添加 % 号。如果,直接复制此段内容,最后两行的开头会多出个 %, 注意把他删除了。[root@linuxidc63 ROOT]# vim test.jsp #写入以下内容:
<%@ page contentType=”text/html;charset=utf-8″%>
<%@ page import=”java.sql.*”%>
<html>
<body>
<%
Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();
String url =”jdbc:mysql://localhost/tomcat?user=tomcat&password=tomcat&useUnicode=true&characterEncoding=utf-8″;
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql=”select * from tt”;
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
step:<%=rs.getString(1)%>
context:<%=rs.getString(2)%><br><br>
<%}%>
<%out.print(“Congratulations!!! JSP connect MYSQL IS OK!!”);%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
测试
Httpd://192.168.1.63:8080/test.jsp
更多 Tomcat 相关教程见以下内容:
CentOS 6.6 下安装配置 Tomcat 环境 http://www.linuxidc.com/Linux/2015-08/122234.htm
RedHat Linux 5.5 安装 JDK+Tomcat 并部署 Java 项目 http://www.linuxidc.com/Linux/2015-02/113528.htm
Tomcat 权威指南(第二版)(中英高清 PDF 版 + 带书签) http://www.linuxidc.com/Linux/2015-02/113062.htm
Tomcat 性能优化简述 http://www.linuxidc.com/Linux/2017-05/143306.htm
Linux 下使用 Xshell 查看 Tomcat 实时日志中文乱码解决方案 http://www.linuxidc.com/Linux/2015-01/112395.htm
CentOS 64-bit 下安装 JDK 和 Tomcat 并设置 Tomcat 开机启动操作步骤 http://www.linuxidc.com/Linux/2015-01/111485.htm
CentOS 6.5 下安装 Tomcat http://www.linuxidc.com/Linux/2015-01/111415.htm
Tomcat 中 session 的管理机制 http://www.linuxidc.com/Linux/2016-09/135072.htm
Tomcat 的详细介绍:请点这里
Tomcat 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143452.htm