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. 洛谷—— P1036 选数 || Vijos——选数

    https://vijos.org/p/1128|| https://www.luogu.org/problem/show?pid=1036#sub 描述 已知 n 个整数 x1,x2,…,xn,以及 ...

  2. C++windows内核编程笔记day11 win32静态库和动态库的使用

    windows库程序: 静态库: 源码被链接到调用的程序或动态库,被调用时,代码最少有1份,文件后缀.LIB 动态库: 函数被程序或其它动态库调用,被调用时,代码仅仅有1份,文件后缀.DLL 静态库( ...

  3. 权重轮询调度算法 java版本号

    权重轮询调度算法(Weighted Round-Robin Scheduling)--java版本号 因为每台server的配置.安装的业务应用等不同.其处理能力会不一样.所以,我们依据server的 ...

  4. Linux 6.2配置yum本地

    yum 1.挂在iso文件 [root@localhostmedia]# mount /dev/cdrom /media 2.安装createrepo createrepo是配置YUM源的配置工具,检 ...

  5. Ionic2集成ArcGIS JavaScript API.md

    1. Ionic同原生ArcGIS JavaScript API结合 1.1. 安装esri-loader 在工程目录下命令行安装: npm install angular2-esri-loader ...

  6. Python(五) 包、模块、函数与变量作用域

    一.while循环与使用场景 CONDITION=1 while CONDITION <=5 : CONDITION +=1 print("hello") else: pri ...

  7. Conventions and patterns for multi-platform development

    For Developers‎ > ‎Design Documents‎ > ‎ Conventions and patterns for multi-platform developme ...

  8. Linux Mint 19.1将采用新的桌面布局

    我们期待Linux Mint 19.1的发布在圣诞节假期之前到来,希望它会带来一些惊喜. Linux 19.1版本将默认包含Cinnamon 4.0桌面环境,Mint的开发人员说,这将比现在“看起来更 ...

  9. jni中调用java方法获取当前apk的签名文件md5值

    相应的java方法: void getsign(Context context) throws Exception { PackageInfo localPackageInfo = context.g ...

  10. tcp_tw_recycle检查tcp_timestamps的内核代码

    注意:本文档中的内核代码的版本号:linux-4.0.5 /************************************************* * Author : Samson * ...