很纳闷,很久以前我就试图吧apache和tomcat整合在一起,网上有很多的文章介绍整合过程,本是很简单的过程,但一直都没有成功。
我是在Ubuntu下,所以是用apt-get方式安装的apache和mod_jk,但是这样的方式不管我怎么配置都不能成功,不知道其他朋友怎么样,有没有用apt-get安装apache和mod_jk并且配置成功的,请指点一二。
不过我今天尝试了自己编译apache和mod_jk来整合,很顺利。
主要参考:《apacheubuntu 下 apache+tomcat整合_(mod-jk方法)》
以下记录下过程:
1. 先准备好所需安装文件和源代码
下载最新的源代码httpd(就是apache2)和tomcat-connectors
还有到oracle网站上下载jdk6.bin
还有tomcat最新版tomcat7.tar.gz
2. 安装jdk
sudo mkdir /usr/lib/jvm
cd /usr/lib/jvm
sudo mv JDK_DOWNLOAD_PATH/xxx.jdk6.bin ./
sudo chmod +x xxx.jdk6.bin
sudo ./xxx.jdk.bin
sudo ln -s xxx-jdk6 jdk6
sudo vim /etc/profile#添加以下代码
export JAVA_HOME=/usr/lib/jvm/jdk6
再修改/etc/enviroment
添加$JAVA_HOME/bin
到path后面
再执行一下/etc/profile和/etc/enviroment
sudo source /etc/profile
sudo source /etc/enviroment
3.安装tomcat和启动测试
cd /usr/share
sudo wget tar xf TOMCAT_DOWNLOAD_PATH/tomcat.tar.gz
sudo ln -s apache-tomcat-7 tomcat7
运行以下试试
sudo /usr/share/tomcat7/bin/startup.sh
如果提示没有设置JAVA_HOME(我这里就是,不明白为什么),那么可以在startup.sh里添加JAVA_HOME变量的值
sudo vim /usr/share/tomcat7/bin/startup.sh
添加
export JAVA_HOME=/usr/lib/jvm/jdk6
现在再启动应该就没问题了。
4. 编译和安装httpd
cd /usr/local/src
sudo tar xf HTTPD_DOWNLOAD_PATH/httpd.tar.gz
cd httpd-2.2.xxx
sudo mkdir /usr/local/apach2
sudo ./configure --prefix=/usr/local/apache2 --enable-so
sudo make
sudo make install
5. 基本配置httpd
cd /usr/local/apache2/conf/
sudo cp http.conf
http.conf.bak
sudo vim http.conf
ServerName
配置为 127.0.0.1:80,服务器IP或域名
DirectoryIndex
中添加index.htm index.jsp
启动apache
/usr/local/apache2/bin/apachectl start
访问:http://127.0.0.1/
看到 It
works!
这个测试成功的界面。
6. 编译和安装tomcat-connector
cd /usr/local/src
sudo tar xf TOMCAT-CONNECTOR_DOWNLOAD_PATH/tomcat-connector-xxx.tar.gz
cd tomcat-connector-xxx-src
cd native
sudo ./configure --with-apxs=/usr/local/apache2/bin/apxs
--with-java-home=/usr/lib/jvm/jdk6
sudo make
sudo make install
居然成功了
注:此时可以看到打印信息,程序已经将mod_jk.o拷贝到apache目录下,所以不用我们再管了
7.
最终要的一步,对以上这些软件的配置
在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf
和workers.properties
sudo vim 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
sudo vim
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,作以下修改:
将Listen
80
修改为 Listen 127.0.0.1:80
将ServerName
修改为 ServerName localhost:80
我的网页放在/var/www下,所以要修改DocumentRoot
添加代码:
DocumentRoot
"/var/www"
<Directory "/var/wwwroot">
Options
Includes FollowSymLinks
AllowOverride None
Order
deny,allow
Allow from all
XBitHack on
</Directory>
#加载mod_jk
LoadModule jk_module modules/mod_jk.so
Include
/usr/local/apache2/conf/mod_jk.conf
最后编辑Tomcat的配置文件server.xml,在<Host段中加入:
<Context path=""
docBase="/var/www" debug="0" reloadable="true"
crossContext="true"/>
在/var/www下建立一个测试的jsp页面
sudo vim /var/www/test.jsp
加入代码
Hello, <%= new String("Tomcat and Apache Http Server") %>!
重新启动tomcat和apache
sudo /usr/share/tomcat7/bin/shutdown.sh
sudo /usr/share/tomcat7/bin/startup.sh
sudo /usr/local/apache2/bin/apachetl stop
sudo /usr/local/apache2/bin/apachetl start
访问http://localhost/test.jsp
出现
Hello, Tomcat and Apache Http Server!
配置完成。
希望你也跟我一样顺利!
本人新博客:tuoxie.me
分享到:
相关推荐
09-Linux编译Apache+PHP.wmv
dools是一款开源规则引擎,drools-workbench是它的工作台web程序,可以编译,打包,发布规则,kie-server是可以运行规则的服务器程序, 两个服务单独部署,用户可以通过通过http请求发送数据,然后返回规则额匹配...
dools是一款开源规则引擎,drools-workbench是它的工作台web程序,可以编译,打包,发布规则,kie-server是可以运行规则的服务器程序, 两个服务单独部署,用户可以通过通过http请求发送数据,然后返回规则额匹配...
tomcat源码编译成功的eclipse项目,解压后将tomcat10剪切出来跟解压包放在同级目录下,另需自行下载ant使用
ARM公司,自家开源 mbedtls-2.16.3-apache.tgz 2020-3-21最新发布版本。 针对ARM 有很多汇编级别的优化配置,开源有维护定期升级,使用新版本替换文件即可。 VS2010 很多工程包,可以直接编译。 Linux 下自带...
使用VC6编译-Curl和LibCurl+ssl+ssh2+zlib libcurl是一个跨平台的开源网络协议库,支持http, https, rtsp等多种协议 。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,...
因tomcat7使用redis共享session,其他的包存在问题,自己编译后处理通过。 该包是在https://github.com/jcoleman/tomcat-redis-session-manager 将源码编译后的包。
dools是一款开源规则引擎,drools-workbench是它的工作台web程序,可以编译,打包,发布规则,kie-server是可以运行规则的服务器程序,用户可以通过通过http请求发送数据,然后返回规则额匹配结果。由于网上很多入门...
Apache Atlas编译时间太长,编译经常报错? 这里有一个编译成功的 apache-atlas-2.1.0-bin.tar.gz,内置Hbase和Solr, Centos7平台使用。 使用方法: 拷贝到Centos7系统下自定义的文件夹里 tar -zxvf apache-atlas-...
最新版本的mbedtls-2.16.5-apache.tgz已经上次 请转到这里下载 2020-03-21 的最新版本 https://download.csdn.net/download/yinggegege/12260002 ARM公司,自家开源 mbedtls-2.16.3-apache.tgz 最新发布版本。 ...
jenkins+maven+svn+tomcat 持续集成环境快捷部署,实现自动编译打包部署
如果需要在WindowsXP建立PHP的调试环境,可以仔细...Bind 9.5.0 + Apache 2.2.3(with mod_ssl) + PHP 5.2.6 + + MySQL 5.0.67 + JDK 6 Update 7 + Tomcat 6.0.18 + Perl 5.8.8.xxx + mod_jk mod_jk在以下环境编译得到。
注意一定要3者匹配,apache一定是vc9编译的,python一定是2.7版本64位的
基于tomcat-redis-session-manager源码进行的编译生成的jar包,压缩包中包含Tomcat7和Tomcat8打好的jar包。
下载Jad反编译工具:大家都是这么说的到“http://www.kpdus.com/jad.html”这个网址下下载适合自己操作系统平台的jad下载,可惜我没找到,英语不好,我打的包里包含了Jad反编译工具。 将下载的包解压有一下几个...
ClearCanvas-master开源源码+引用资源包,将引用包文件解压后加入到clearcanvas文件目录下编译即可
jenkins+git+maven+tomcat,自动下载代码,自动编译,自动发布到tomcat
Apache Tomcat的团队宣布的Apache Tomcat 7.0.20的即时可用性 Apache Tomcat 7.0.20 includes bug fixes and the following new features compared to version 7.0.19:的Apache Tomcat 7.0.20,包括bug修复版本...
开发javaweb项目的工具,配置文件中已添加了运行java项目的配置方法,包含示例, 注意问题:需要将编译路径设置为:项目名称/WebContent/WEB-INF/classes
Tomcat8亲测可用 tomcat-redis-session-manager的jar包 修改了tomcat-redis-session-manager源码进行的编译生成的jar包