简单的Apache 2 Tomcat 5 mod_jk集成
整个教程基于许多教程,但我做了一个非常简单的教程,没有虚拟主机。 这只是在DEBIAN测试3.1 !!!! 它可能不适用于其他发行版...
信息的主要来源可以在这里找到:
https://www.youcl.com/info/6709
安装Apache2
我遵循这个链接: :
跑
apt-get install apache2 apache2-doc
apt-get install libapache2-mod-php4 libapache2-mod-perl2 php4 php4-cli php4-common php4-curl php4-dev php4-domxml php4-gd php4-imap php4-ldap php4-mcal php4-mhash php4-mysql php4-odbc php4-pear php4-xslt curl libwww-perl imagemagick
编辑/etc/apache2/apache2.conf
。 更改
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml |
至
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml |
编辑/etc/mime.types
并注释掉以下几行:
#application/x-httpd-php phtml pht php |
编辑/etc/apache2/mods-enabled/php4.conf
并注释掉以下行:
<IfModule mod_php4.c> |
编辑/etc/apache2/ports.conf
并添加Listen 443
:
Listen 80 |
现在我们必须启用一些Apache模块(SSL,重写和suexec):
a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include
重新启动Apache:
/etc/init.d/apache2 restart
将在系统中自动创建新的用户www-data
。
安装JDK(Java开发工具包)
为了运行Tomcat,您将需要安装JDK并设置JAVA_HOME
环境变量来标识系统上JDK环境的位置。 我选择使用JDK 5.0。
您可以在http://java.sun.com/j2se/1.5.0/download.jsp下载JDK 5.0。
2.点击下载JDK 5.0 Update 6进入下载页面。
3.单击接受以接受许可协议。
4.接下来选择Linux自解压文件。 这是自解压二进制文件而不是rpm的下载。
5.下载到您首选的下载目录。 通过执行以下命令,切换到该目录并使其可执行:
chmod +x jdk-1_5_0_06-linux-i586.bin
现在执行文件:
./jdk-1_5_0_06-linux-i586.bin
您现在应该有一个名为jdk1.5.0_06
的新目录
。 现在将此目录移动到应该运行的位置。 我选择了/ usr / lib /
。
mv jdk1.5.0_06 /usr/lib
现在通过以下命令创建一个名为jdk
的符号链接到JAVA_HOME
。 如果您需要,您可以轻松地在不同的jvms之间来回切换。
cd /usr/lib
ln -s jdk1.5.0_06 jdk
现在我们需要设置JAVA_HOME
环境变量。 在导出PATH
之后,在/ etc / profile
的末尾添加以下内容
。
JAVA_HOME="/usr/lib/jdk" |
/ etc / profile
在启动时和用户登录系统时执行。 为了更新环境,您将需要注销并重新登录系统。
检查以确保JAVA_HOME
通过执行以下命令正确
定义。 这应该报告应该是/ usr / lib / jdk
的Java SDK的位置。
echo $JAVA_HOME
安装Tomcat
在本节中,您将下载并安装Apache Tomcat 5.5.16。 对于这种特定的设置,不需要从源代码构建软件包,我们将下载二进制版本。
1.从二进制文件下载二进制文件到您的首选下载目录: http : //tomcat.apache.org/download-55.cgi 。 从5.5.16核心部分选择tar.gz。
2.现在更改为该目录并使用以下命令解压缩文件:
cd /mydownloads #(be sure to change to your download directory)
tar xvzf apache-tomcat-5.5.16.tar.gz
您现在应该有一个名为apache-tomcat-5.5.16
的新目录。 现在将此目录移动到应该安装的位置。 再次,我选择了/ usr / lib /
。 请注意,该位置在Tomcat文档中将被称为CATALINA_HOME。
mv apache-tomcat-5.5.16 /usr/lib
4.下一步更改为/ usr / lib /
目录。
cd /usr/lib
5.现在通过以下命令创建一个名为apache-tomcat
的符号链接到CATALINA_HOME。
ln -s apache-tomcat-5.5.16 apache-tomcat
这将节省您在每次升级Tomcat时对启动和关闭脚本进行更改,并且如果您愿意,还可以在系统上保留多个版本的Tomcat,并轻松地在其中切换。
您现在应该能够从CATALINA_HOME / bin目录
启动和停止Tomcat。 如果您正在使用除bash shell之外的另一个shell,那么您将在命令的开头添加sh。 您现在应该能够通过启动并打开浏览器并在浏览器中输入http:// localhost:8080
来测试Tomcat。 端口8080是Tomcat的默认端口,可以在/usr/lib/apache-tomcat/conf/server.xml
文件中轻松更改。 (稍后我们将使用此文件。)如果您计划远程访问此页面,请确保将相应的端口转发到路由器中服务器的IP地址。 您现在应该看到包含Tomcat文档链接以及JSP / Servlet脚本示例的Tomcat欢迎页面。 通过执行欢迎页面上发现的一些示例来验证Tomcat是否正在运行。
cd /usr/lib/apache-tomcat/bin
./startup.sh
要关闭服务器,您需要执行以下命令。 随意尝试一下,但现在我们将离开Tomcat运行。
./shutdown.sh
安装和配置mod_jk
为了使Tomcat和Apache之间的连接,我们需要下载并安装mod_jk连接器。 您将发现Apache文档建议您安装mod_jk的打包版本,如果它适用于您的特定Linux发行版。 许多过时的资源建议安装mod_jk2连接器,但是我发现它已被弃用,虽然mod_jk是在mod_jk2之前开发的,但仍然完全支持并且非常稳定。
Mike Millson在使用mod_jk将Tomcat连接到Apache的Red Hat中提供了一些很好的推理: Red Hat Linux上集成了Tomcat和Apache 。
我选择从Apache归档下载当前的源代码: http : //archive.apache.org/dist/jakarta/tomcat-connectors/jk/source/jk-1.2.15/ 。 将jakarta-tomcat-connectors-1.2.15-src.tar.gz
文件下载到/ usr / src /
目录。
2.更改为/ usr / src
目录。
cd /usr/src
3.接下来,提取内容以创建/usr/src/jakarta-tomcat-connectors-1.2.15-src
目录。
tar xvzf jakarta-tomcat-connectors-1.2.15-src.tar.gz
4.更改为/usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native
目录。
cd jakarta-tomcat-connectors-1.2.15-src/jk/native
5.现在您可以为系统创建自定义配置文件。 执行以下操作:
./buildconf.sh
这将在/usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native目录中创建一个配置文件。
6.执行以下命令以配置系统的mod_jk。
重要说明:您需要安装apxs2
(APache eXtension工具)并配置Apache。 如果没有,就像我的情况一样,您可以从www.debian.org下载并安装apache2-threaded-dev
软件包(代替以前的apache-dev软件包)。 撰写本文时, www.debian.org上的Debian软件包存档已经关闭,他们把我转到了他们的临时站点,直到他们解决了pdo.debian.net的问题。 我发现apache2-threaded-dev
包,并能够成功安装。
确保在命令的路径中在系统上包含正确的位置apxs2
。
./configure --with-apxs=/usr/bin/apxs2
7.现在使用以下命令构建mod_jk:
make
最后,如果您以前的命令成功,将新创建的mod_jk.so
复制到Apache2 modules目录。 我的模块位于/ usr / lib / apache2 / modules
。
cd apache-2.0
cp /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native/apache-2.0/mod_jk.so /usr/lib/apache2/modules
现在,您已准备好进入下一阶段,即开始配置Apache和Tomcat。 您可以在http://tomcat.apache.org/connectors-doc/howto/apache.html上找到有关mod_jk连接器的更多信息 。
配置Tomcat和Apache
创建workers.properties
文件。
重要提示:修改前,请确保配置文件的备份副本。
workers.properties
文件包含有关如何通过定义通过ajpv13协议进行通信的工作程序将每个进程链接到Tomcat的详细信息。 有关详细信息,请参阅“工作人员操作手册”。
1.首先在Apache2根目录中创建workers.properties
文件。
touch /etc/apache2/workers.properties
2.接下来,打开workers.properties
文件并添加以下内容。 您可以在互联网上找到workers.properties
文件的许多其他示例,但这是我创建的一个示例,它似乎与本教程中已经配置的其他部分正常工作。
workers.tomcat_home=/usr/lib/apache-tomcat |
3.保存并关闭文件。
4.现在我们需要打开/etc/apache2/apache2.conf
文件,并在底部添加以下行。 ( httpd.conf
只是为了向后兼容):
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so |
保存并关闭文件。
现在是最后的安全点。
我们将创建一个组和用户tomcat tomcat:
groupadd tomcat
useradd -g tomcat tomcat
然后更改Tomcat路径的用户和组:
chown -R tomcat:tomcat /usr/lib/apache-tomcat-5.5.16
要更改tomcat用户的密码,请使用root类型:
passwd tomcat
并按照说明进行操作。
然后启动和停止Tomcat服务器,您应该使用tomcat
用户。
su - tomcat
现在停止并启动Tomcat:
cd /usr/lib/apache-tomcat/bin
./shutdown.sh
./startup.sh
并重新启动Apache:
/etc/init.d/apache2 restart
你完成了
测试:
在这个测试中,我们将所有以“ / jsp-examples
”开头的URL引导到Tomcat。
在现实世界的情况下,我们只能将JSP或servlet引导到JK工作人员。
确保默认的Tomcat端口8005,8009和8080上没有运行其他服务器。
确保Apache端口上没有其他服务器正在运行,通常为8080或80。
首先启动Tomcat:始终启动Tomcat,然后启动Apache。
如果您要反弹Tomcat,请记住先卸载Apache,然后重新启动Tomcat。
启动Apache:将浏览器指向http:// localhost
,并验证您是否获得默认的Apache页面。 如果需要,将“localhost” 替换
为实际的机器名称/ IP。
将浏览器指向http:// localhost:8080
,并确认您获取默认的Tomcat页面。
将浏览器指向http:// localhost / jsp-examples /
,并确认您获取了Tomcat示例的索引页。
这将由Apache提供,并将表明您已经完成了Apache和Tomcat的成功合并。
参考文献和路径:
Tomcat conf:
/usr/lib/apache-tomcat/conf/server.xml
Tomcat停止并启动:
cd /usr/lib/apache-tomcat/bin
./shutdown.sh
./startup.sh
Apache模块:
/usr/lib/apache2/modules
Apache conf:
/etc/apache2/workers.properties
/etc/apache2/apache2.conf
/etc/apache2/httpd.conf
Apache2:
/etc/init.d/apache2 restart
/etc/init.d/apache2 stop
/etc/init.d/apache2 start
对于那些需要帮助本教程的人,请在这里发布您的问题:
https://www.youcl.com/forums/showthread.php?t=3595
或者即使您在本教程中发现任何错误,请在论坛中通知我们。