转自:http://www.iteye.com/topic/1128572
1 安装jdk
2 安装apache
3 安装tomcat
4 编译生成mod_jk
5 配置 mod_jk.conf和workers.properties
6 apache目录说明
7 tomcat目录说明
1 安装jdk
1. 安装jdk 从本地上传到linux 或者 wget下载
[root@www java]#chmod 755 jdk-1_5_0_22-linux-i586-rpm.bin
[root@www java]#./jdk-1_5_0_22-linux-i586-rpm.bin Extracting... UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (Zip-Bugs@lists.wku.edu). inflating: jdk-1_5_0_22-linux-i586.rpm Preparing... ########################################### [100%] 1:jdk ########################################### [100%]
done.
2. 修改 /etc/profile 默jdk认安装在 /usr/java 目录
[root@www java]# vi /etc/profile
在末尾追加以下信息
JAVA_HOME=/usr/ java/jdk1.5.0_22/
JRE_HOME=/usr/ java/jdk1.5.0_22/jre/
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
[root@www java]#source /etc/profile
3.测试
[root@www java]# java -version
|
2 安装apache
1. 下载apache2文件 [root@www java]# wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.2.23.tar.gz [root@www java]# rpm -qa | grep httpd #检查以前安装版本 [root@www java]# rpm -e httpd #卸载系统默认安装版 2. 解压下载的apache2包 [root@www java]# tar -zvxf httpd-2.2.23.tar.gz #安装apache [root@www java]# mv httpd-2.2.23 /usr/local/ apache2 [root@www httpd-2.2.23 ]# cd /usr/local/apache2/ httpd-2.2.23 3. 安装apache至/usr/local/apache 并配置apache支持dso方式 [root@www httpd-2.2.23 ]# ./configure --prefix=/usr/local/apache2 --enable-module=so [root@www httpd-2.2.23 ]# make [root@www httpd-2.2.23 ]# make install 4. 启动Apache [root@host apache2 ]# bin/apache1 start |
3 安装tomcat
1.下载tomcat包
[root@www java]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-6/v6.0.36/bin/apache-tomcat-6.0.36.tar.gz
2. 解压包
[root@www java]# tar -zxvf apache-tomcat-6.0.36.tar.gz [root@www java]# mv apache-tomcat-6.0.36/* /usr/local/tomcat
[root@www java]# vi /usr/local/tomcat/bin/catalina.sh 加入一行: JAVA_HOME=/usr/java /jdk1.5.0_22
# /usr/local/tomcat/bin/startup.sh
|
4 编译生成mod_ jk
[root@www java]# wget http://archive.apache.org/dist/jakarta/tomcat-connectors/jk/source/jk-1.2.15/jakarta-tomcat-connectors-1.2.15-src.tar.gz [root@www java]# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz [root@www java]# cd jakarta-tomcat-connectors-1.2.15-src/jk/native [root@www jakarta-tomcat-connectors-1.2.15-src ]# ./configure --with-apxs=/usr/local/apache2/bin/apxs [root@www jakarta-tomcat-connectors-1.2.15-src]# make [root@www java]# cp /usr/local/apache2 /mod_jk.so /usr/local/apache2/modules/ |
5 在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties。
[root@www java]# vi mod_jk.conf 添加以下内容: JkWorkersFile /usr/local/apache2/conf/workers.properties # Where to put jk logs JkLogFile /usr/local/apache2/logs/mod_jk.log # Set the jk log level [debug/error/info] JkLogLevel info # Select the log format JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" # JkOptions indicate to send SSL KEY SIZE, JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories # JkRequestLogFormat set the request format JkRequestLogFormat "%w %V %T" # 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理 JkMount /servlet/* worker1 JkMount /*.jsp worker1 [root@www java]# vi workers.properties 添加以下内容: # Defining a worker named worker1 and of type ajp13 worker.list=worker1 # Set properties for worker1 worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 worker.worker1.lbfactor=50 worker.worker1.cachesize=10 worker.worker1.cache_timeout=600 worker.worker1.socket_keepalive=1 worker.worker1.socket_timeout=300 再配置httpd.conf,作以下修改: [root@www java]# vi /usr/local/apache2/ conf/httpd.conf 增加关于加载mod_jk的语句: LoadModule jk_module modules/mod_jk.so Include /usr/local/apache2/conf/mod_jk.conf #您的站点项目所在路径,应与tomcat中的目录设置相同 DocumentRoot "/usr/local/tomcat/webapps" #默认首页 DirectoryIndex index.html index.htm index.jsp |
在tomcat webapps 下建立一个index.jsp,启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。
6 apache主要目录和文件说明
主配置文件位置/etc/httpd/conf/*或者/usr/local/apache2/conf/httpd.conf。
启动脚本/etc/rc.d/init.d/httpd。
格式的帮助文档/usr/local/apache2/manual/*html。
用在html网页中的图标文件/usr/local/apache2/icons/*。
建立和更新apache用户的程序/usr/local/apache2/htpasswd。
http服务器程序/usr/sbin/httpd。
日志文件/usr/local/apache2/。
7 tomcat主要目录和文件说明
/bin :存放windows 或Linux 平台上启动和关闭Tomcat 的脚本文件
/conf :存放Tomcat 服务器的各种全局配置文件,其中最重要的是server.xml 和web.xml
/doc :存放Tomcat 文档
/server :包含三个子目录:classes 、lib 和webapps
/server/lib :存放Tomcat 服务器所需的各种JAR 文件
/server/webapps :存放Tomcat 自带的两个WEB 应用admin 应用和 manager 应用
/common/lib :存放Tomcat 服务器以及所有web 应用都可以访问的jar 文件
/shared/lib :存放所有web 应用都可以访问的jar 文件(但是不能被Tomcat 服务器访问)
/logs :存放Tomcat 执行时的日志文件
/src :存放Tomcat 的源代码
/webapps :Tomcat 的主要Web 发布目录,默认情况下把Web 应用文件放于此目录
/work :存放JSP 编译后产生的class 文件
二、WEB 应用的目录结构:假设在$CATALINA_HOME/webapps 下有javaapp 的web 应用
/javaapp :Web 应用的根目录,所有的jsp 文件和html 文件都在此目录下
/java app/WEB_INF :存放该web 应用发布时的描述文件web.xml
/java app/WEB_INF/class :存放各种class 文件,Servlet 文件也存放于此目录下
/java app/WEB_INF/lib :存放各钟Web 应用所需要的jar 文件。比如可以存放JDBC 驱动程序的JAR 文件
三、Tomcat 加载类和资源的顺序为(java app 应用为例):
1 、javaapp (/webapps/java app/Web-INF/ 下的classes ,lib 子目录中*.calss 及*.jar ,仅java app 可以加载)
2 、Bootstrap ($JAVA_HOME/jre/lib/ext/*.jar )
3 、System ($CLASSPATH/*.class 和CLASSPATH 中指定的jar )
4 、Common ($CATALINA_HOME/common/ 下的classes ,lib ,endores 子目录中*.class 及*.jar )
5 、Catalina ($CATALINA_HOME/server/ 下的classes ,lib 子目录中*.calss 及*.jar ,仅Tomcat 可以加载)
6 、Shared ($CATALINA_HOME/shared/ 下的classes ,lib 子目录中*.calss 及*.jar ,仅所有Web 应用可以加载)
四、$CATALINA_HOME/conf/server.xml 配置简介
1 、 元素属性<\/strong><\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">port :指定一个端口,这个端口负责监听关闭tomcat 的请求<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">shutdown :指定向端口发送的命令字符串,通常是“SHUTDOWN ”<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18.05pt;"><span style="font-size: small;"><strong>2 <\/strong><strong>、<Service> 元素属性<\/strong><\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">name :指定service 的名字,通常是”Catalina”<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18.05pt;"><span style="font-size: small;"><strong>3 <\/strong><strong>、<Connector/> 元素属性(表示客户端和service 之间的连接):<\/strong><\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">port :指定服务器端要创建的端口号,并使用这个断口监听来自客户端的请求<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">minProcessors (考察是否有此属性):服务器端启动时创建的处理请求的线程数 <\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">maxProcessors (考察是否有此属性):最大可以创建的处理请求的线程数 <\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">maxThreads :服务器创建的最大线程数<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">minSpareThreads :最小剩余线程数<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">maxSpareThreads :最大剩余线程数<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">enableLookups :如果为true ,则可以通过调用request.getRemoteHost ()进行DNS 查询来得到远程客户端的实际主机名,若为false 则不进行DNS 查询,而是返回其IP 地址<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">redirectPort :指定当服务器正在处理HTTP 请求时收到了一个SSL 传输请求后重定向的端口号 <\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">acceptCount :指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过的请求将不予处理 <\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">connectionTimeout :指定超时的时间数(以毫秒为单位)<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">disableUploadTimeout :不明<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">debug :不明<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">protocol :不明<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18.05pt;"><span style="font-size: small;"><strong>4 <\/strong><strong>、<Engine> 元素属性(指定service 中的请求处理主机,接收和处理来自Connector 的请求)<\/strong><\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">name :指定Engine 的名字,通常是”Catalina”<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">defaultHost :指定默认的处理请求的主机名,至少与某个host 元素的name 属性值是相同的<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18.05pt;"><span style="font-size: small;"><strong>5 <\/strong><strong>、<Context/> 元素属性(表示一个web 应用程序)<\/strong><\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">docBase :指定此Web 应用的绝对或相对路径,也可以为WAR 文件的路径<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">path :表示此Web 应用程序的url 的入口,如为“/java “,则请求的URL 为http://localhost:8080/java /<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">reloadable :如果为true ,则Tomcat 在运行时会自动监视Web 应用的/WEB-INF/lib 和/WEB-INF/classes 下文件的改动,自动装载新应用,使我们可以在不重启Tomcat 的情况下更新Web 应用<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18.05pt;"><span style="font-size: small;"><strong>6 <\/strong><strong>、<Host> 元素属性(表示一个虚拟主机)<\/strong><\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">name :指定虚拟主机名字<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">debug :指定日志级别<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">appBase :存放Web 应用程序的基本目录,可以是绝对路径或相对于$CATALINA_HOME 的目录,默认是$CATALINA_HOME/webapps<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">unpackWARs :如果为true ,则tomcat 会自动将WAR 文件解压后运行,否则不解压而直接从WAR 文件中运行应用程序<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">autoDeploy :如果为true ,表示Tomcat 启动时会自动发布appBase 目录下所有的Web 应用(包括新加入的Web 应用)<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">deployOnStarup :如果此项为true ,表示Tomcat 服务器启动时会自动发布appBase 目录下所有Web 应用。如果Web 应用在server.xml 中没有相应的<Context> 元素, 则将采用默认的Context 配置。deployOnStarup 的默认设置是true<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">alias :指定虚拟主机的别名,可以指定多个别名<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">xmlValidation :不明<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">xmlNamespaceAware :不明<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18.05pt;"><span style="font-size: small;"><strong>7 <\/strong><strong>、<Logger/> 元素属性(表示日志,调试和错误信息)<\/strong><\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">className :指定logger 使用的类名,此类必须实现org.apache.catalina.Logger 接口 <\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">prefix :指定log 文件名的前缀(文件名)<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">suffix :指定log 文件名的后缀(扩展名) <\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">timestamp :如果为true ,则log 文件名中会加入日期时间,如下例:localhost_log.2006-10-04.txt<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">directory :指定log 文件存放的目录<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18.05pt;"><span style="font-size: small;"><strong>8 <\/strong><strong>、<Realm/> 元素属性(表示存放用户名,密码及role 的数据库)<\/strong><\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">className :指定Realm 使用的类名,此类必须实现org.apache.catalina.Realm 接口<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">resourceName :不明<\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18.05pt;"><span style="font-size: small;"><strong>9 <\/strong><strong>、<Valve/> 元素属性(功能与Logger 相似,其prefix 和suffix 属性解释和Logger 中的一样)<\/strong><\/span><\/p><p style="margin: 0px; padding: 0px; text-indent: 18pt;"><span style="font-size: small;">className :指定Valve 使用的类名,如用org.apache.catalina.valves.AccessLogValve 类可以记录应用程序的访问信息 <\/span><\/p><span style="font-size: small;">directory :指定log 文件存放的位置<\/span><\/div>