/ 中存储网

CentOS jdk + tomcat + MySQL + Apache整合安装配置过程记录

2014-03-22 16:22:01 来源:itjs.cn
JDK

所谓 Java Servlet ,是指用 Java 语言,实现动态网页的创建的功能,一般把简单的把它称为“Servlet”(无中文译文)的情况比较常见。和它处于同等类别的技术还有我们知道的Perl、PHP、ASP等等。Servlet算是J2EE中的一部分,所以在企业应用方面,Servlet技术被广泛的应用着。而所谓的JSP是Servlet技术的延伸,Servlet程序就是通过JSP来自动生成的。通常Servlet和JSP被混为一谈的情况比较多见,但严格上说,Servlet和JSP是两种不同的技术…但也正因为它们通常作为“搭档”,JSP也被认作是Servlet的一种功能。

下面我们就介绍一下在CentOS下构建Servlet/JSP服务器的方法。

必要组件的安装

[1] 卸载CentOS系统默认的Java编译器--gcj。

为了默认使用Sun的javac作为Java的编译器,首先删除CentOS系统默认的Java编译器--gcj。

[[email protected] ~]# rpm -qa | grep gcj  ← 确认gcj的版本号

libgcj-3.4.5-2

libgcj-devel-3.4.5-2

java-1.4.2-gcj-compat-1.4.2.0-27jpp  ← 根据版本号卸载gcj

[[email protected] ~]# yum -y remove java-1.4.2-gcj-compat  ← 卸载gcj

[2] 下载J2SDK。

下载站点:http://download.java.net/jdk7/binaries/

选择linux RPM 版本

http://www.java.net/download/jdk7/binaries/jdk-7-ea-bin-b77-linux-i586-03_dec_2009-rpm.bin

先安装wget

yum -y install wget

wget www.java.net/download/jdk7/binaries/jdk-7-ea-bin-b77-linux-i586-03_dec_2009-rpm.bin

[3] 安装JDK

gcc -v 检查是否存在gcc

安装 yum -y install gcc

chmod +x jdk-7-ea-bin-b77-linux-i586-03_dec_2009-rpm.bin

./jdk-7-ea-bin-b58-linux-i586-08_may_2009-rpm.bin

Rpm -I jdk-7-ea-linux-i586.rpm

Preparing… ########################################### [100%]

   1:jdk ########################################### [100%]

Unpacking JAR files…

rt.jar…

jsse.jar…

charsets.jar…

tools.jar…

localedata.jar…

plugin.jar…

javaws.jar…

deploy.jar…

Done.

安装完毕。

ls /usr/java/

default jdk1.7.0 latest

配置 java 环境参数

vi ~/.bash_profile

.bash_profile和.bashrc的什么差别

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.

并从/etc/profile.d目录的设置文件中搜集shell的设置.

/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该

文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.

~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时及每次打开新的shell时,该

该文件被读取.

~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.

另外,/etc/profile中设定的变量(全局)的能作用于所有用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.

~/.bash_profile 是交互式、login 方式进入 bash 运行的

~/.bashrc 是交互式 non-login 方式进入 bash 运行的

通常二者设置大致相同,所以通常前者会调用后者。

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

JAVA_HOME=/usr/java/jdk/1.7.0

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

PATH=$PATH:$HOME/bin:JAVA_HOME/bin:$JAVA_HOME/jre/bin:/sbin

export PATH JAVA_HOME CLASSPATH

unset USERNAME

保存退出,如果输入 java 和 javac 可以正常运行就可以了。

下面编写一个 HelloWorld.java 文件 进行测试

public class HelloWorld

{

public static void main( String args[] )

{

System.out.println( "HelloWorld!!" );

}

}

[[email protected] /]# vi HelloWorld.java

[[email protected] /]# javac HelloWorld.java

[[email protected] /]# java HelloWorld

HelloWorld

TOMCAT

tomcat服务器吧可以运行jsp文件,servlet都没有问题,一些小的jsp网站或者个人学习jsp是不错的选择。比较大一点的jsp服务器软件 Jboss , weblogic 等等。

下面我们在 CentOS 5.3 Linux 服务器系统安装 apache-tomcat-6.0.18

apache-tomcat-6.0.18.tar.gz 文件你可以去 http://www.apache.org 上面进行下载,而且有多种版本选择, 我选择了目前最新的版本。

解压

# tar zxvf apache-tomcat-6.0.18.tar.gz

解压完成就可以把解压出来的文件夹移动到/usr/local下面并且改名

# mv apache-tomcat-6.0.18 /usr/local/tomcat

这样就安装完成,因为tomcat直接解压就可以用,不需要安装

下面设置 tomcat 相关的环境变量

# vi ~/.bash_profile 加入 tomcat 环境参数

TOMCAT_HOME=/usr/local/tomcat

export PATH JAVA_HOME CLASSPATH TOMCAT_HOME

保存退出,然后执行 source ~/.bash_profile , 让环境变量生效

下面就可以启动 tomcat 服务器了

[[email protected] opt]# /usr/local/tomcat/bin/startup.sh

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

没有其他信息,表示正常启动了, 你也可以查看 tomcat端口是否打开

# netstat -tnl 查看 8080 8009 这2个端口,如果打开了,证明tomcat正常运行。

下面进行测试

# ifconfig 查看服务器 ip地址。

 inet addr:192.168.138.128 Bcast:192.168.138.255 Mask:255.255.255.0

xp 访问地址是 http://192.168.138.128:8080

注意要写上 8080 端口。

发现不能打开 tomcat 默认页面, 是因为 CentOS 5.3 操作系统中 默认 iptables 防火墙设置

的原因,没有允许 8080 端口

# iptables -F 这个命令可以清除 CentOS5.3 中 iptables 自带防火墙 默认规则

# iptables -F

# service iptables save

Saving firewall rules to /etc/sysconfig/iptables: [ OK ]

要这2条命令 一起执行才可以, 这样才会保存到配置文件中,下次开机就直接可以访问jsp网页了。

清除完毕 再进行访问

If you're seeing this page via a web browser,

it means you've setup Tomcat successfully. Congratulations!

正常显示出来了。 关于 Linux 自带防火墙 iptables 的其他设置,大家可以看

www.17rumen.com 上面的视频。 看到了吧,就是这个地方专门演示iptables的设置。

===================================================

下面 查看 tomcat 运行时环境的 内存大小情况

在 tomcat 默认的 网站路径 编写一个 test.jsp 文件,下面就是网页内容。

/usr/local/tomcat/webapps/ROOT 这个就是网站的物理地址,看我演示吧。

<%

Runtime lRuntime = Runtime.getRuntime();

out.println("*** BEGIN MEMORY STATISTICS ***<br/>");

out.println("Free Memory: "+lRuntime.freeMemory()/1024/1024+"M<br/>");

out.println("Max Memory: "+lRuntime.maxMemory()/1024/1024+"M<br/>");

out.println("Total Memory: "+lRuntime.totalMemory()/1024/1024+"M<br/>");

out.println("Available Processors : "+lRuntime.availableProcessors()+"<br/>");

out.println("*** END MEMORY STATISTICS ***");

%>

保存文件, 就可以访问了。Http://192.168.138.128:8080/test.jsp

你也可以写另外的 jsp 文件进行学习。

是吧, 很简单的一个 jsp 页面

<%

out.println( "Hello, www.17rumen.com" );

%>

具体进一步学习 jsp 网页编程这里不多说,需要一定的java语言基础。

=======================

Linux 下 tomcat 运行内存设置大小

vi ~/.bash_profile

加入 JAVA_OPTS="-Xms256m -Xmx512m"

保存, 退出

# source ~/.bash_profile 是环境变量设置 生效

=============================================================

最后就是让服务器 启动时候自动 运行 tomcat 了。

我们最简单的方法就是通过startup.sh来自动启动Tomcat,编辑vi /etc/rc.d/rc.local

文件最后增加内容(假设JDK目录是/usr/java,Tomcat目录是/usr/local/tomcat)

export JDK_HOME=/usr/java/jdk1.7.0

export JAVA_HOME=/usr/java/jdk1.7.0

/usr/local/tomcat/bin/startup.sh

保存退出

最后当然是 重启服务器 看看是否自动启动啦

shutdown -r now

MYSQL

安装MySQL及相关组件

首先,安装MySQL。

[[email protected] ~]# yum -y install mysql-server  ← 安装MySQL

启动MySQL服务

  启动MySQL,并让MySQL在系统重新启动后随系统自动启动。

[[email protected] ~]# chkconfig mysqld on  ← 设置MySQL服务随系统启动自启动

[[email protected] ~]# chkconfig --list mysqld  ← 确认MySQL自启动

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off  ← 如果2--5为on的状态就OK

[[email protected] ~]# /etc/rc.d/init.d/mysqld start  ← 启动MySQL服务

Initializing MySQL database:         [ OK ]

Starting MySQL:              [ OK ]

MySQL初始环境设定

[1]为MySQL的root用户设置密码

  MySQL在刚刚被安装的时候,它的root用户是没有被设置密码的。首先来设置MySQL的root密码。

[[email protected] ~]# mysql -u root  ← 用root用户登录MySQL服务器

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 2 to server version: 4.1.20

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> select user,host,password from mysql.user;  ← 查看用户信息

+------+------------------------------+---------------+

| user | host          | password |

+------+------------------------------+---------------+

| root | localhost        |       |  ← root密码为空

| root | sample.centospub.com  |       |  ← root密码为空

|   | sample.centospub.com |       |

|   | localhost       |       |

+------+------------------------------+---------------+

4 rows in set (0.00 sec)

mysql> set password for [email protected]=password('在这里填入root密码');  ← 设置root密码

Query OK, 0 rows affected (0.01 sec)

mysql> set password for root@'sample.centospub.com'=password('在这里填入root密码');  ← 设置root密码

Query OK, 0 rows affected (0.01 sec)

mysql> select user,host,password from mysql.user;  ← 查看用户信息

+------+--------------------------------+--------------------------+

| user | host          | password     |

+------+--------------------------------+--------------------------+

| root | localhost        | 19b68057189b027f |  ← root密码被设置

| root | sample.centospub.com   | 19b68057189b027f |  ← root密码被设置

|    | sample.centospub.com   |          |

|    | localhost        |          |

+------+--------------------------------+--------------------------+

4 rows in set (0.01 sec)

mysql> exit  ← 退出MySQL服务器

Bye

   然后,测试一下root密码有没有生效。

[[email protected] ~]# mysql -u root  ← 通过空密码用root登录

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)  ← 出现此错误信息说明密码设置成功

[[email protected] ~]# mysql -u root -h sample.centospub.com  ← 通过空密码用root登录

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)  ← 出现此错误信息说明密码设置成功

[[email protected] ~]# mysql -u root -p  ← 通过密码用root登录

Enter password:  ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or g.  ← 确认用密码能够成功登录

Your MySQL connection id is 5 to server version: 4.1.20

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> exit

Bye

[[email protected] ~]# mysql -u root -h sample.centospub.com -p  ← 通过密码用root登录

Enter password:  ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or g.  ← 确认用密码能够成功登录

Your MySQL connection id is 6 to server version: 4.1.20

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> exit  ← 退出MySQL服务器

Bye

[2] 删除匿名用户

  在MySQL刚刚被安装后,存在用户名、密码为空的用户。这使得数据库服务器有无需密码被登录的可能性。为消除隐患,将匿名用户删除。

[[email protected] ~]# mysql -u root -p  ← 通过密码用root登录

Enter password:  ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 7 to server version: 4.1.20

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> select user,host from mysql.user;  ← 查看用户信息

+------+----------------------------+

| user | host         |

+------+----------------------------+

|   | localhost       |

| root | localhost       |

|   | sample.centospub.com |

| root | sample.centospub.com  |

+------+----------------------------+

4 rows in set (0.02 sec)

mysql> delete from mysql.user where user='';  ← 删除匿名用户

Query OK, 2 rows affected (0.17 sec)

mysql> select user,host from mysql.user;  ← 查看用户信息

+------+----------------------------+

| user | host         |

+------+----------------------------+

| root | localhost      |

| root | sample.centospub.com |

+------+----------------------------+

2 rows in set (0.00 sec)

mysql> exit  ← 退出MySQL服务器

Bye

[3] 删除测试用数据库

在MySQL被安装后,存在名为test的空数据库,将它删除。这里要注意的是,系统默认的还有一个名为mysql的数据库,它用于系统管理,所以请不要删除。

[[email protected] ~]# mysql -u root -p  ← 通过密码用root登录

Enter password:  ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 8 to server version: 4.1.20

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> show databases;  ← 查看系统已存在的数据库

+-------------+

| Database |

+-------------+

| mysql   |

| test   |

+------------+

2 rows in set (0.02 sec)

mysql> drop database test;  ← 删除名为test的空数据库

Query OK, 0 rows affected (0.07 sec)

mysql> show databases;  ← 查看系统已存在的数据库

+-------------+

| Database |

+-------------+

| mysql   |  ← 确认名为test的数据库被删除,已不存在

+-------------+

1 row in set (0.00 sec)

mysql> exit  ← 退出MySQL服务器

Bye

测试MySQL

  下面对MySQL进行测试。包括建立新用户,以及用对关系性数据库进行数据库操作的指令来试着建立数据库及数据表。这里,新建用户以centospub为例。

[[email protected] ~]# mysql -u root -p  ← 通过密码用root登录

Enter password:  ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 9 to server version: 4.1.20

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> grant all privileges on test.* to [email protected] identified by '在这里定义密码';  ← 建立对test数据库有完全操作权限的名为centospub的用户

Query OK, 0 rows affected (0.03 sec)

mysql> select user from mysql.user where user='centospub';  ← 确认centospub用户的存在与否

+---------+

| user  |

+---------+

| centospub |  ← 确认centospub已经被建立

+---------+

1 row in set (0.01 sec)

mysql> exit  ← 退出MySQL服务器

Bye

[[email protected] ~]# mysql -u centospub -p  ← 用新建立的centospub用户登录MySQL服务器

Enter password:  ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 10 to server version: 4.1.20

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> create database test;  ← 建立名为test的数据库

Query OK, 1 row affected (0.00 sec)

mysql> show databases;  ← 查看系统已存在的数据库

+-------------+

| Database |

+-------------+

| test    |

+-------------+

1 row in set (0.00 sec)

mysql> use test  ← 连接到数据库

Database changed

mysql> create table test(num int, name varchar(50));  ← 在数据库中建立表

Query OK, 0 rows affected (0.03 sec)

mysql> show tables;  ← 查看数据库中已存在的表

+-------------------+

| Tables_in_test |

+-------------------+

| test     |

+-------------------+

1 row in set (0.01 sec)

mysql> insert into test values(1,'Hello World!');  ← 插入一个值到表中

Query OK, 1 row affected (0.02 sec)

mysql> select * from test;  ← 查看数据库中的表的信息

+------+-------------------+

| num | name      |

+------+-------------------+

| 1   | Hello World!  |

+------+-------------------+

1 row in set (0.00 sec)

mysql> update test set name='Hello Everyone!';  ← 更新表的信息,赋予新的值

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from test;  ← 查看数据库中的表的信息

+------+----------------------+

| num | name      |

+------+----------------------+

| 1   | Hello Everyone! |  ← 确认被更新到新的值

+------+----------------------+

1 row in set (0.01 sec)

mysql> delete from test where num=1;  ← 删除表内的值

Query OK, 1 row affected (0.00 sec)

mysql> select * from test;  ← 确认删除结果

Empty set (0.01 sec)

mysql> drop table test;  ← 删除表

Query OK, 0 rows affected (0.01 sec)

mysql> show tables;  ← 查看表信息

Empty set (0.00 sec)  ← 确认表已被删除

mysql> drop database test;  ← 删除名为test的数据库

Query OK, 0 rows affected (0.01 sec)

mysql> show databases;  ← 查看已存在的数据库

Empty set (0.01 sec)  ← 确认test数据库已被删除(这里非root用户的关系,看不到名为mysql的数据库)

mysql> exit  ← 退出MySQL服务器

Bye

   然后,删除测试用过的遗留用户。

[[email protected] ~]# mysql -u root -p  ← 通过密码用root登录

Enter password:  ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 12 to server version: 4.1.20

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> revoke all privileges on *.* from [email protected];  ← 取消centospub用户对数据库的操作权限

Query OK, 0 rows affected (0.00 sec)

mysql> delete from mysql.user where user='centospub' and host='localhost';  ← 删除centospub用户

Query OK, 1 row affected (0.01 sec)

mysql> select user from mysql.user where user='centospub';  ← 查找用户centospub,确认已删除与否

Empty set (0.01 sec)  ← 确认centospub用户已不存在

mysql> flush privileges;  ← 刷新,使以上操作生效

Query OK, 0 rows affected (0.01 sec)

mysql> exit

Bye

  最后,重新启动一次HTTP服务,让php-mysql反映到HTTP服务中。

[[email protected] ~]# /etc/rc.d/init.d/httpd restart  ← 重新启动HTTP服务

Stopping httpd:             [ OK ]

Starting httpd:             [ OK ]

mysql 关闭的命令为:/etc/init.d/mysqld stop

APACHE

系统自带apache与下载安装冲突解决

装linux的时候安装了系统自带的web服务器,后期配置apache的时候出现冲突。如何删除系统自带的apache。

1、[[email protected] etc]# rpm -qa|grep httpd,查看与httpd相关软件包。

   [[email protected] etc]# rpm -qa|grep httpd

   system-config-httpd-1.3.3.3-1.el5

   httpd-2.2.3-11.el5_2.centos.4

2、依次删除相关的软件包。即先删除system-config-httpd;

   [[email protected] etc]# rpm -e system-config-httpd

3、然后删除httpd:

   [[email protected] etc]# rpm -e httpd

   出现问题:

error: Failed dependencies:

httpd >= 2.2.0 is needed by (installed) gnome-user-share-0.10-6.el5.i386

4、还有一个相关的软件包没有删除,清除之,即:

   [[email protected] etc]# rpm -e gnome-user-share

5、再删除httpd

   [[email protected] etc]# rpm -e httpd

到此系统自带的httpd删除完毕!

自定义安装httpd!

Apache 服务器软件 http://www.apache.org

最流行的web服务器,apache作为经典,成熟的web服务器并不过份。

下面我们就在 CentOS 5.3 Linux 服务器上安装 apache 2.2.11 版本,

Linux , Unix 安装都是 编译安装的吧,呵呵。

1, 首先你必须下载 : httpd-2.2.11.tar.gz

文章最后我会提供 .7z 的 文件给大家下载,下载后解压就可以了,

当然你也可以到官方 http://www.apache.org 上下载。

2, 解压

src]# tar vxzf httpd-2.2.11.tar.gz

3, 进入目录

# cd httpd-2.2.11

./configure --prefix=/usr/local/httpd --enable-modules --enable-so --enable-rewrite --enable-expires --enable-cache --enable-mem-cache

http://www.lampchina.net/manu/apache

好,这次没有发现什么错误, --enable-modules 这个强烈建议加上,

也就是说 以后apache 可以添加其他的模块,方便很多。

下面进行编译,make编译 需要一定的时间,不过比起编译mysql要快些。

httpd-2.2.11]# make

下面进行安装

httpd-2.2.11]# make install

安装完成了。。。

4, 启动服务 测试一下吧。

]# /usr/local/apache2/bin/apachectl start &

# netstat -tnl 可以看到 80 端口,说明apache启动了。

tcp 0 0 :::80 :::* LISTEN

打开浏览器进行访问吧。

# ifconfig 查看 Linux 服务器ip地址。

inet addr:192.168.138.128

http://192.168.138.128

看到 It works! 说明正常工作了

cd /usr/local/apache2/

可以看到 htdocs 就是 web 服务器的 目录所在

你可以想我这样 vi test.html 上面写一些信息,然后进行访问。

让 Apache 自动启动

# echo "/usr/local/apache2/bin/apachectl start &" >> /etc/rc.local

整合jdk , tomcat , apache …..

也就是当访问 apache 80 端口时候 遇到 jsp 文件也可以正常访问。

如果不整合, 你的apache 80 是不能运行jsp文件的, 只能使用8080端口,也就是tomcat 来访问。

如何整合呢 ? 要借助一个叫做 apache tomcat 的链接器。

http://tomcat.apache.org/download-connectors.cgi

首先下载tomcat-connectors-1.2.28-src.tar.gz到服务器

解压

]# tar xzvf tomcat-connectors-1.2.28-src.tar.gz

注意是进入: native 这个目录

]# cd native

请确认你的 apache 的 apxs 文件位置

  native]# ./configure --with-apxs=/usr/local/httpd/bin/apxs

编译生成mod_jk

  native]# make

拷贝编译完成生成的 mod_jk.so 文件, 这里也是要注意你的apache modules 目录位置

  native]# cp ./apache-2.0/mod_jk.so /usr/local/httpd/modules/

===============================================

修改 apache 配置文件

# vi /use/local/httpd/conf/httpd.conf

在DirectoryIndex中添加 index.jsp

<IfModule dir_module>

DirectoryIndex index.html index.jsp

</IfModule>

增加关于加载mod_jk的语句:

LoadModule jk_module modules/mod_jk.so

Include /usr/local/apache2/conf/mod_jk.conf

在/usr/local/httpd/conf/ 下面 建立两个配置文件mod_jk.conf和workers.propertie

# vi mod_jk.conf

添加以下内容( 添加的时候去掉注释,可能文件不能显示中文 ):

###### 指出mod_jk模块工作所需要的工作文件workers.properties的位置

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

JkMount /*.do worker1

------------------------------------------------------------

# 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

-------------------

我的tomcat 配置文件路径:

/usr/local/tomcat/conf/server.xml

最后编辑Tomcat的配置文件server.xml,在 <Host 段中加入:

<Context path="" docBase="/usr/local/apache2/htdocs" debug="0" reloadable="true" crossContext="true"/>

重新启动Apache和Tomcat。。。

[[email protected] bin]# ./shutdown.sh

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

[[email protected] bin]# ./startup.sh

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

# /usr/local/apache2/bin/apachectl stop

# /usr/local/apache2/bin/apachectl start

在 /usr/local/apache2/htdocs/ 下 删掉 index.html

建立一个index.jsp ,

写入一些简单的内容:

<%

out.println( "Hello World" );

%>

用浏览器访问服务器 http://localhost,看到正确的页面了。

说明 apache 遇到jsp页面 ,它可以提交给 tomcat 去处理。。。

这样就可以整合了 apache 和 tomcat 了。