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下搭建PHP环境
转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...
- Java学习心得之 Linux下搭建Java环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...
- Java学习心得之 Linux下搭建JavaWeb环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...
- Ruby学习心得之 Linux下搭建Ruby环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...
- linux 下搭建php环境
linux 下搭建php环境 1.下载apache (http://httpd.apache.org/download.cgi) 下载php组件 ( http://cn2.php.net/get/ph ...
- linux下搭建lamp环境以及安装swoole扩展
linux下搭建lamp环境以及安装swoole扩展 一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源 我安装的环境是:apache2.2.15+mysql5 ...
- Linux 下搭建 Kafka 环境
Linux 下搭建 Kafka 环境 作者:Grey 原文地址: 博客园:Linux 下搭建 Kafka 环境 CSDN:Linux 下搭建 Kafka 环境 环境要求 操作系统:CentOS 7 下 ...
- Linux 下搭建 Hadoop 环境
Linux 下搭建 Hadoop 环境 作者:Grey 原文地址: 博客园:Linux 下搭建 Hadoop 环境 CSDN:Linux 下搭建 Hadoop 环境 环境要求 操作系统:CentOS ...
- Linux 下搭建 HBase 环境
Linux 下搭建 HBase 环境 作者:Grey 原文地址: 博客园:Linux 下搭建 HBase 环境 CSDN:Linux 下搭建 HBase 环境 前置工作 首先,需要先完成 Linux ...
随机推荐
- HDFS 文件系统流程图。PB级文件存储时序图。
大小文件通吃, 热点hash功能. 全局唯一KV索引. 百度网盘模式.断点续传功能.MR分析功能. 来自为知笔记(Wiz)
- django-xadmin定制之分页显示数量
环境:xadmin-for-python3 python3.5.2 django1.9.12 主要思路:利用django-xadmin的插件原理和原有分页插件的逻辑,单独定义一个分页显示数插件,效果如 ...
- ORA-01003: no statement parsed
环境:delphi 5.BDE.oracle10 delphi里面用tStoreProc调用存储过程出现ORA-01003: no statement parsed. 解决方法:tStoreProc. ...
- STL 之 hash_map源代码剖析
// Filename: stl_hash_map.h // hash_map和hash_multimap是对hashtable的简单包装, 非常easy理解 /* * Copyright (c) 1 ...
- Oracle数据库备份恢复,巡检须要关注的对象设置以及相关恢复概述
数据库备份恢复.巡检须要关注的对象设置: 1.数据库名称,以及DBID: --dbid在v$database中 SYS@ORCL>select dbid,name from v$dat ...
- POJ 3087 模拟+hash
也可以用map来搞 样例推出来 就没啥问题了 (先读的是B 然后是A 被坑好久) //By SiriusRen #include <cstdio> #include <iostrea ...
- OpenGL编程逐步深入(四)Shaders
OpenGl 中的 Shader在一些中文书籍或资料中都被翻译为"着色器", 单从字面意思也看不出Shader到底是什么,Shader实际上就是一段代码,用于完成特定功能的一个模块 ...
- XML结构,写到TreeView树上
http://blog.csdn.net/ztzi321/article/details/44077563
- Android 设置屏幕不待机
本文转载于:http://blog.csdn.net/yudajun/article/details/7748760 androidnullservice 目录(?)[+] 最近做项目时正好用到,进行 ...
- c#多线程操作测试(阻塞线程,结束任务)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...