D20-JSP之部署tomcat

简介:

D20-JSP之部署tomcat

                                                         第一节  部署tomcat 

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的既能在Linux下运行,也能在其他操作系统上运行

Servlet 是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。servlet的工作模
客户端发送请求至服务器
服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器
服务器将响应返回客户端

Tomcat 是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是7.0。Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。


1 准备java 环境
1.1 下载合适的jdk 
//64位Linux 系统使用的 RPM包 ,http://www.oracle.com/technetwork/java/javase/downloads/index.html

1.2 安装jdk

 
  1. rpm -ivh jdk-7-linux-x64.rpm  

 
1.3 配置java环境变量

 
  1. //在profile文件中加入如下信息:
  2. vim /etc/profile 

#add for tomcat
export JAVA_HOME=/usr/java/jdk1.7.0 
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/ 
export PATH=$PATH:$JAVA_HOME/bin 
source /etc/profile

1.4 验证java

 
  1. java -version  

java version "1.7.0" 
Java(TM) SE Runtime Environment (build 1.7.0-b147) 
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)

 
  1. ls /usr/java/  

default  jdk1.7.0  latest 


2 tomcat 
2.1 下载

 
  1. wget -c http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.29/bin/apache-tomcat-7.0.29.tar.gz 
  2. wget -c http://www.apache.org/dist/tomcat/tomcat-7/v7.0.29/bin/apache-tomcat-7.0.29.tar.gz.md5 


2.1.2 md5效验

 
  1. md5sum -c apache-tomcat-7.0.29.tar.gz.md5  

apache-tomcat-7.0.29.tar.gz: OK

2.2 安装(二进制包)

 
  1. tar zxf apache-tomcat-7.0.29.tar.gz 
  2. mv apache-tomcat-7.0.29 /usr/local/tomcat 


2.3 tomcat 虚拟主机
//共三个虚拟机
localhost
java
center


2.3.1 建立虚拟机目录

 
  1. mkdir -p /var/www/html/{localhost,java,center} 
  2. mkdir -p /var/log/httpd/{localhost,java,center} 
  3. chown -R www.www /var/www/html 


2.3.2 准备jsp 测试文件

 
  1. cat > index.jsp << EOF 
  2. <%@page language="java" %> 
  3. <html> 
  4.         <head> 
  5.                 <title>Tomcat</title> 
  6.         </head> 
  7.         <body> 
  8.                 <h2><font color="red">Tomcat</font></h2> 
  9.                 <% out.println("Hello,World!"); %> 
  10.         </body> 
  11. </html> 
  12. EOF 
  13. cp index.jsp /var/www/html/center
  14. cp index.jsp /var/www/html/java
  15. echo "ok"  > /var/www/html/localhost/index.html

//index.html 是为haproxy check 准备,可参考下面haproxy 代理 tomcat 
注意:默认的localhost 在 /usr/local/tomcat/webapps 目录

2.4 tomcat 完整配置文件

 
  1. sed -re '/<!--/,/-->/d' -e '/^$/d' /usr/local/tomcat/conf/server.xml  

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.core.JasperListener" />
  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>
  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost"  appBase="/var/www/html/localhost"
            unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="/var/www/html/localhost" reloadable="true" crossContext="true"/>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/var/log/httpd/localhost"
               prefix="localhost_access_log." suffix=".txt" resolveHosts="false"
               pattern='%h %l %T %t "%r" %s %b "%{Referer}i" "%{User-Agent}i" %{X-Forwarded-For}i' />
      </Host>
      <Host name="center.test.com" appBase="/var/www/html/center"
            unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="/var/www/html/center" reloadable="true" crossContext="true"/>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/var/log/httpd/center"
               prefix="center_access_log." suffix=".txt" resolveHosts="false"
               pattern='%h %l %T %t "%r" %s %b "%{Referer}i" "%{User-Agent}i" %{X-Forwarded-For}i' />
      </Host>
      <Host name="java.test.com" appBase="/var/www/html/java"
            unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="/var/www/html/java" reloadable="true" crossContext="true"/>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/var/log/httpd/java"
               prefix="java_access_log." suffix=".txt" resolveHosts="false"
               pattern='%h %l %T %t "%r" %s %b "%{Referer}i" "%{User-Agent}i" %{X-Forwarded-For}i' />
      </Host>
    </Engine>
  </Service>
</Server>



3 管理tomcat
3.1 测试server.xml 文件

 
  1. /usr/local/tomcat/bin/catalina.sh configtest 

Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.7.0
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Aug 30, 2012 10:11:15 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib#
Aug 30, 2012 10:11:16 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Aug 30, 2012 10:11:16 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Aug 30, 2012 10:11:16 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 981 ms

3.2 启动tomcat

 
  1. /usr/local/tomcat/bin/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/jdk1.7.0
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

3.3 tomcat 监听8080端口

 
  1. lsof -i :8080 

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    21977 root   40u  IPv6 473403      0t0  TCP *:webcache (LISTEN)


4 haproxy 代理 tomcat 
拓扑:
Haproxy  -> Tomcat


4.1 haproxy 代码

 
  1. acl jsp hdr_reg(host) -i ^(center.test.com|java|jsp) 
  2. use_backend  tomcat.test.com if jsp 
  3. backend tomcat.test.com 
  4.         mode http 
  5.         option  forwardfor 
  6.         balance roundrobin    
  7.         cookie  SERVERID  
  8.         option  httpchk HEAD /index.html 
  9.         server  tomcat01 10.0.100.77:8080 cookie tomcat01 check inter 2000 rise 3 fall 3 weight 3 

 

参考

tomcat
http://baike.baidu.com/view/10166.htm

servlet
baike.baidu.com/view/25169.htm

话说tomcat的前世今生 
http://haicang.blog.51cto.com/2590303/963648

tomcat server.xml 中文版介绍  
http://jvortex.blog.163.com/blog/static/16961890020111253509772/

tomcat部署web服务(一) 
http://wjw7702.blog.51cto.com/5210820/960577

apache tomcat整合后虚拟主机配置
http://lsscto.blog.51cto.com/779396/899306

tomcat 日志配置(Tomcat访问日志浅析)
http://blog.sina.com.cn/s/blog_7acf99ef01013rjt.html

用Haproxy做前端代理时让Apache日志记录客户端IP的修改方法
http://www.ha97.com/4825.html

 

结束
更多请:
linux 相关 37275208
vmware 虚拟化相关  166682360



本文转自 dongnan 51CTO博客,原文链接:http://blog.51cto.com/dngood/1058668

相关文章
|
3天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
52 26
|
3月前
|
监控 Java 应用服务中间件
部署tomcat部署实战案例
本文是关于Tomcat部署实战案例的教程,包括通过yum和二进制方式部署Tomcat的详细步骤,以及如何监控Tomcat服务。
215 84
部署tomcat部署实战案例
|
4月前
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
|
3月前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
2月前
|
Java 应用服务中间件 Maven
idea+maven+tomcat+spring 创建一个jsp项目
这篇文章介绍了如何在IntelliJ IDEA中使用Maven和Tomcat创建一个JSP项目,包括配置Maven依赖、设置Tomcat服务器、编写JSP页面、创建控制器和配置文件,以及项目的运行结果。
223 0
idea+maven+tomcat+spring 创建一个jsp项目
|
2月前
|
Java 应用服务中间件 Linux
tomcat学习二:tomcat部署多个项目:不修改端口和修改端口 两种方式详解
这篇文章详细介绍了在Tomcat服务器上部署多个项目的方法,包括不修改端口和修改端口两种方式。
147 0
|
4月前
|
应用服务中间件 Docker 容器
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
这篇文章介绍了在Docker中安装Tomcat的过程,包括搜索Tomcat镜像、拉取镜像、目录挂载的准备、创建并挂载容器,以及如何进入容器和进行测试。文中还说明了如何将WAR包部署到Tomcat服务器并访问部署的应用。
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
|
4月前
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
|
3月前
|
前端开发 Java 应用服务中间件
react自学(6) 部署到tomcat中
react自学(6) 部署到tomcat中
|
4月前
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
82 3