Linux下搭建JSP环境
    作为一名Java EE系统架构工程师,经常需要搭配和建立JSP(Java Server Pages)的开发环境和运行环境,所以本人在平时的工作中积累了一些在Linux下搭配JSP环境的经验。由于搭配环境所涉及的步骤比较繁杂,所以将其整理出来与大家一起分享。希望能起到抛砖引玉的作用,各位高手也多提宝贵意见。
一、JSP与Sewlet
在开始具体的操作之前,需要大家了解一下JSP程序与Servlet容器之间的关系,这样可以更好地理解JSP环境的搭配原理。JSP是由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术是用Java语言作为脚本语言。JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。Apache做为最流行的web服务器功能强大,高效,但并不支持jsp及servlet,所以通常的做法是把它们整合起来,让Apache处理静态页面,而把动态页面的请求交给 tomcat处理,发挥各自的优势。
   由此可以看出,JSP的主要作用是对服务器端的Java程序提供接口, 以便进行HTTP的交互。而要实现这种接口就必须要有一个处理JSP脚本的容器,更进一步,知道所有JSP脚本在运行时刻,都会被编译成Servlet,所以要处理JSP的容器就是--Servlet容器。现在世界上比较常用的Servlet容器主要有两种,一种是Apache基金会的Tomcat,另外一种是Jetty。相比较而言两者在Servlet处理上不分伯仲, 但笔者更倾向于选择TomCat, 因为Tomcat与Apache的HTTP服务器相结合可以大大提高网站的访问承受能力,而Jetty就比较单纯的是一个Servlet容器而已。
二、配置JSP环境
1.下载Apache
   现在明白了JSP环境的搭配原理,就可以开始正式的搭配工作。首先要做的是配置好Apache,可以去http://httpd.apache.org下载一个最新版本的Apache服务器。目前适合Linux下的最新版本是UnixSource,httpd-2.3.2.tar.gz。下载完后就可以开始编译和安装。首先进入到下载的软件包所在目录,执行以下命令:
$tar zxvf httpd-2.3.2.tar.gz
然后进入解压缩后的目录:
$cd httpd-2.3.2
2.编译和安装
$ ./configure --prefix=usr/local/apache --enable-module=s --enable-module=rewrite --enable-shared=max --htdocsdir=/var/www &&make && make install
需要注意的是,所有命令都需要写在一行里面。
这里通过enable-module参数告诉设置脚本,需要启动so和rewrite模块,so模块是用来提DSO支持的Apache核心模块,而rewrite模块则是用意实现地址重写的模块,由于rewrite模块需要DBM支持,如果在初次安装时没有编译进Apache。以后需要用到时需要重新编译整个Apache才可以实现。如果不能确定以后不会用到rewrite模块,还是建议在第一次编译的时候把rewrite模块编译好。enable-shared=max这个参数的作用时编译Apache时,把除了so以外的所有Apache的标准模块都编译成DSO模块,而不是编译进Apache核心内。安装Apache很简单,
启动Apache:
$/usr/local/apache/bin/apachectl start
然后用IE看“HTTP://IP”,此时应该能看到熟悉的Apache羽毛标志。
3.安装Tomcat
以上的工作完成了Apache的安装,下面就需要安装Tom-cat了。Tomcat需要在http://tomcat.apache.org进行下载,最新的版本是6.0.20.Tomcat下载后不需要编译,只需要解压出来就可以使用。
使用命令解压:
$tar zxvf apache-tomcat-6.0.20.tar.gz
把解压缩后的目录放人,opt目录下并改名,以方便管理。
$mv apache-tomcat-6.0.20  /opt/tomcat
至此,Tomcat也就安装完毕了,要实现Tomcat和Apache的结台,还需要一个JK包,进入http://tomcat.apache.org/connectors-doc/下载最新版本的JK,最新版本号是1.2.28。下载后的文件是已经编译好的Apache模块,只需要把这个模块放人Apache的模块目录即可。
$mv jakarta-tomcat-connectors-jk-1.2.28-linux-sles9-x86_64-worker.so /usr/local/apache/modules/
$mv jakarta-tomcat-connectors-jk-1.2.28-linux-sles9-x86_64-worker.so jk_modules.so
然后编辑Apache的配置文件httpd.conf 加入JK模块的命令:
LoadModule jk_module modules/mod_jk.so
载入JK模块后,还需要配置一下Apache的conf目录下的workers2.properties文件,一般内容如下:
#Define the communication channel
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket tomcatld=localhost:8009
#Map the Tomcat examples webapp to the web server uri space
[urli:/examples/*]
info=Map the whole webapp
这个/examples应该是Tomcat下的路径,而不是Apache的,但在这里做了映射,这个URL就能被Apache接受并转给Tomcat,而不用加Tomcat的端口号了。至此Linux下JSP环境搭建就全部完成了,在实际应用中如果有多个Webapp只需要修改Workers2.properties文件,加入相应的映射就可以了。

本文出自 “李晨光原创技术博客” 博客,谢绝转载!

Linux下搭建JSP环境的更多相关文章

  1. Linux下搭建PHP环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  2. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

  3. Java学习心得之 Linux下搭建JavaWeb环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...

  4. Ruby学习心得之 Linux下搭建Ruby环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...

  5. linux 下搭建php环境

    linux 下搭建php环境 1.下载apache (http://httpd.apache.org/download.cgi) 下载php组件 ( http://cn2.php.net/get/ph ...

  6. linux下搭建lamp环境以及安装swoole扩展

    linux下搭建lamp环境以及安装swoole扩展   一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源  我安装的环境是:apache2.2.15+mysql5 ...

  7. Linux 下搭建 Kafka 环境

    Linux 下搭建 Kafka 环境 作者:Grey 原文地址: 博客园:Linux 下搭建 Kafka 环境 CSDN:Linux 下搭建 Kafka 环境 环境要求 操作系统:CentOS 7 下 ...

  8. Linux 下搭建 Hadoop 环境

    Linux 下搭建 Hadoop 环境 作者:Grey 原文地址: 博客园:Linux 下搭建 Hadoop 环境 CSDN:Linux 下搭建 Hadoop 环境 环境要求 操作系统:CentOS ...

  9. Linux 下搭建 HBase 环境

    Linux 下搭建 HBase 环境 作者:Grey 原文地址: 博客园:Linux 下搭建 HBase 环境 CSDN:Linux 下搭建 HBase 环境 前置工作 首先,需要先完成 Linux ...

随机推荐

  1. 编译impala、拓展impala语法解析模块

    以前也编译过,但是每次编译都忘记怎么做,然后都得重新找需要下载的文件. 编译文件:buildall.sh 如果想只编译前端可以这样运行: buildall.sh -fe_only 编译时会去S3下载一 ...

  2. [Spark源代码剖析] DAGScheduler提交stage

    转载请标明出处:http://blog.csdn.net/bigbigdata/article/details/47310657 DAGScheduler通过调用submitStage来提交stage ...

  3. [PostCss] Easily Load Google Fonts with PostCSS Font Magician

    Configuring Google Fonts can be quite an annoying process to setup. Using Font Magician with PostCSS ...

  4. dropify,不错的图片上传预览插件

    引言 传统的图片上传,很丑.点击选择之后,还无法预览. 有一种方案是传到服务器,然后返回地址,然后显示,比较麻烦. 用这个dropify,就可以解决之歌问题. 看效果 用法 1.引入文件,需要jque ...

  5. HDU 5353 Average 贪心

    就是贪心啊,不知道为啥总是不过,总是WA 方法不对吗? 将数组扩展一倍,从左到右扫描,大于平均数就给右边的,小于就从右边拿,等于就不变,记录下操作类型. 大于2直接NO,不知道哪错了,自己出了一些数据 ...

  6. 洛谷P1586 四方定理

    题目描述 四方定理是众所周知的:任意一个正整数nn ,可以分解为不超过四个整数的平方和.例如:25=1^{2}+2^{2}+2^{2}+4^{2}25=12+22+22+42 ,当然还有其他的分解方案 ...

  7. 干货分享 -- Math

    昼猫笔记 JavaScript -- Math Math也是JS的内置对象,但是它不是一个构造函数,它属于一个工具类不用创建对象,它封装了数学运算相关的属性和方法,今天就来写下常用的函数[API(ap ...

  8. chown---改变某个文件或目录的所有者和所属的组

    chown命令改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组.用户可以是用户或者是用户D,用户组可以是组名或组id.文件名可以使由空格 ...

  9. 关于结构体内存对齐方式的总结(#pragma pack()和alignas())

    最近闲来无事,翻阅msdn,在预编译指令中,翻阅到#pragma pack这个预处理指令,这个预处理指令为结构体内存对齐指令,偶然发现还有另外的内存对齐指令aligns(C++11),__declsp ...

  10. 【CS Round #37 (Div. 2 only) D】Reconstruct Graph

    [Link]:https://csacademy.com/contest/round-37/task/reconstruct-graph/statement/ [Description] 给你一张图; ...