`
tuoxie007
  • 浏览: 160288 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

编译开源软件手记之3--Apache+tomcat整合

阅读更多

很纳闷,很久以前我就试图吧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.confworkers.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

0
0
分享到:
评论

相关推荐

    09-Linux编译Apache+PHP.wmv

    09-Linux编译Apache+PHP.wmv

    kie-Drools-workbench7.10.0+kie-server7.10.0+tomcat8 下载运行

    dools是一款开源规则引擎,drools-workbench是它的工作台web程序,可以编译,打包,发布规则,kie-server是可以运行规则的服务器程序, 两个服务单独部署,用户可以通过通过http请求发送数据,然后返回规则额匹配...

    kie-Drools-kie-server7.10.0+tomcat8

    dools是一款开源规则引擎,drools-workbench是它的工作台web程序,可以编译,打包,发布规则,kie-server是可以运行规则的服务器程序, 两个服务单独部署,用户可以通过通过http请求发送数据,然后返回规则额匹配...

    apache-tomcat-10.0.0+lib.zip

    tomcat源码编译成功的eclipse项目,解压后将tomcat10剪切出来跟解压包放在同级目录下,另需自行下载ant使用

    mbedtls-2.16.5-apache.tgz

    ARM公司,自家开源 mbedtls-2.16.3-apache.tgz 2020-3-21最新发布版本。 针对ARM 有很多汇编级别的优化配置,开源有维护定期升级,使用新版本替换文件即可。 VS2010 很多工程包,可以直接编译。 Linux 下自带...

    使用VC6编译-Curl和LibCurl+ssl+ssh2+zlib

    使用VC6编译-Curl和LibCurl+ssl+ssh2+zlib libcurl是一个跨平台的开源网络协议库,支持http, https, rtsp等多种协议 。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,...

    tomcat-redis-session-manager支持tomcat7

    因tomcat7使用redis共享session,其他的包存在问题,自己编译后处理通过。 该包是在https://github.com/jcoleman/tomcat-redis-session-manager 将源码编译后的包。

    kie-Drools-workbench7.5.0+kie-server7.5.0+tomcat8

    dools是一款开源规则引擎,drools-workbench是它的工作台web程序,可以编译,打包,发布规则,kie-server是可以运行规则的服务器程序,用户可以通过通过http请求发送数据,然后返回规则额匹配结果。由于网上很多入门...

    花费数个小时编译成功的 apache-atlas-2.1.0-bin.tar.gz

    Apache Atlas编译时间太长,编译经常报错? 这里有一个编译成功的 apache-atlas-2.1.0-bin.tar.gz,内置Hbase和Solr, Centos7平台使用。 使用方法: 拷贝到Centos7系统下自定义的文件夹里 tar -zxvf apache-atlas-...

    mbedtls-2.16.3-apache.tgz

    最新版本的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 持续集成环境快捷部署

    jenkins+maven+svn+tomcat 持续集成环境快捷部署,实现自动编译打包部署

    在Windows XP下建立Apache+PHP+Tomcat+Perl的开发环境

    如果需要在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在以下环境编译得到。

    mod_wsgi-4.4.23+ap24vc9-cp27-cp27m-win_amd64

    注意一定要3者匹配,apache一定是vc9编译的,python一定是2.7版本64位的

    tomcat-redis-session-manager的jar包-包含Tomcat7和Tomcat8

    基于tomcat-redis-session-manager源码进行的编译生成的jar包,压缩包中包含Tomcat7和Tomcat8打好的jar包。

    java反编译工具jad1.5.8+jd-gui.exe+jadclipse_3.3.0(都是最新版本)

    下载Jad反编译工具:大家都是这么说的到“http://www.kpdus.com/jad.html”这个网址下下载适合自己操作系统平台的jad下载,可惜我没找到,英语不好,我打的包里包含了Jad反编译工具。 将下载的包解压有一下几个...

    ClearCanvas-master开源源码+引用资源包

    ClearCanvas-master开源源码+引用资源包,将引用包文件解压后加入到clearcanvas文件目录下编译即可

    jenkins+git+maven+tomcat

    jenkins+git+maven+tomcat,自动下载代码,自动编译,自动发布到tomcat

    apache-tomcat-7.0.20.zip

    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修复版本...

    apache-tomcat-6.0.29

    开发javaweb项目的工具,配置文件中已添加了运行java项目的配置方法,包含示例, 注意问题:需要将编译路径设置为:项目名称/WebContent/WEB-INF/classes

    Tomcat8亲测可用 tomcat-redis-session-manager的jar包

    Tomcat8亲测可用 tomcat-redis-session-manager的jar包 修改了tomcat-redis-session-manager源码进行的编译生成的jar包

Global site tag (gtag.js) - Google Analytics