简单的Apache 2 Tomcat 5 mod_jk集成

简单的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
#application/x-httpd-php-source phps
#application/x-httpd-php3 php3
#application/x-httpd-php3-preprocessed php3p
#application/x-httpd-php4 php4

编辑/etc/apache2/mods-enabled/php4.conf并注释掉以下行:

<IfModule mod_php4.c>
# AddType application/x-httpd-php .php .phtml .php3
# AddType application/x-httpd-php-source .phps
</IfModule>

编辑/etc/apache2/ports.conf并添加Listen 443

Listen 80
Listen 443

现在我们必须启用一些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"
export JAVA_HOME

/ 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
workers.java_home=/usr/lib/jdk
ps=/
worker.list=worker1

worker.default.port=8009
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1

3.保存并关闭文件。

4.现在我们需要打开/etc/apache2/apache2.conf文件,并在底部添加以下行。 ( httpd.conf只是为了向后兼容):

LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so

# Where to find workers.properties
JkWorkersFile /etc/apache2/workers.properties

# Where to put jk logs
JkLogFile /var/log/apache2/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"


# Send servlet for context / jsp-examples to worker named worker1
JkMount /jsp-examples worker1
# Send JSPs for context /jsp-examples/* to worker named worker1
JkMount /jsp-examples/* worker1

保存并关闭文件。

现在是最后的安全点。

我们将创建一个组和用户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

或者即使您在本教程中发现任何错误,请在论坛中通知我们。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏