`
Anddy
  • 浏览: 197968 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Linux(ubuntu)下apache与tomcat的整合(最新版)

阅读更多

(高手绕道)

 

目的是在 ubuntu 9.10 下安装 apache 2.2 +tomcat 6.0.20+jk 1.2.28.,当然在期间也复习了 linux下的基本命令,基本的 shell编程语句,如 :expr if while test 等 ,研究了下 tomcat的启动脚本。

 

一开始,肯定对 apache2一点也不熟悉,为了一次整合成功,做了很多的准备,包括看了很多的文章,就是没有看 apache的官网文档的,这是一个失误阿!

使用了 apt-get install apache2 .安装是成功了,但是不知道安装到那个目录下, google

下,通过如下方式找到 ubuntu下默认安装 apache2软件的路经 .

论坛指点:

默认安装路径如下:

/usr/bin /usr/lib /usr/share /usr/share/man

 

方法 1:在命令行输入: dpkg -L 软件包名;这里注意了软件包名,如 apache2软件包名为 apache2.(推荐这个方法)

方法 2:在 /var/cache/apt/archives找的你安装程序的包 ,然后用“ gdebi-gtk+软件包名”可以查看具体安装在什么位置。

 


 

 

 

参考: http://forum.ubuntu.org.cn/viewtopic.php?f=73&t=21990

 

默认安装后, apache2的路径非常乱,在本机电脑上安装路径如下:

/usr/

/usr/share/

/usr/share/doc

/usr/share/bug

/usr/share/apache2

 

太乱了,如是下手卸载,去 ubuntu software center 下载,结果 search一下,没有 apache。纳闷啊,我明明安装了,怎么在这里面没有了? Bug

另寻它法:(步骤如下)

1、 sudo apt-get remove apache2

2、 sudo apt-get remove apache2.2-common

3、 sudo apt-get autoremove (此命令会自动卸载 PHP)

卸载完成

成功卸载了吧?我这么想,去看看 /etc/目录下看看 ,apache2 在那里好好的,原来删除根本就不完全,

这样卸载软件,系统能用多久啊,

迟早一天硬盘会不够用的,系统运行速度会变慢的!于是 rm掉。

 

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

至此, ubuntu默认安装默认卸载结束。重新到官网去下载 apache2.2 。根据 document安装

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

另外记录一下启动 apache2 出现的错误以及解决办法:

 

 

 

 

1.Apache Address already in use: make_sock: could not bind to port 80 error and solution

 

First make sure port 80/443 is not used by any other service or application with netstat command:

# netstat -tulpn| grep :80

If port 80 is bind to httpd, kill all process:

# killall -r httpd

Now start the httpd:

# /etc/init.d/httpd start

Also make sure you are root while starting the httpd.

(后来这个很有用!)

 

 

另外参考:

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

 

 

去官网下了这个: Unix Source: httpd-2.2.15.tar.gz

(虽然 apache 2.3.5-alpha 已经出来了)

 

安装步骤:


 

Download     $ lynx http://httpd.apache.org/download.cgi
Extract         $ gzip -d httpd- NN .tar.gz
                    $ tar xvf httpd- NN .tar
                    $ cd httpd- NN Configure
                    $./configure --prefix= PREFIX
Compile        $ make
Install            $ make install
Customize     $ vi PREFIX /conf/httpd.conf
Test              $ PREFIX /bin/apachectl -k start
 

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

说下需要注意的地方,在 ./configure这一步的时候,注意 PREFIX是你新建的目录下。比如 :apache2。

PS:这个过程是从原代码编译开始到安装。整个过程的时间很长,请耐心等待。

 

安装成功。

 

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


 2. 在 index.html中添加中文,出现中文乱码,

解决方法一:

 <meta http-equiv="Content-Language" content="zh-cn">;

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">; 

 

解决的方法之二 :

 

直接在httpd.conf配置文件中将

AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset GB2312 .ZH-CN .zh-cn

上网有上面这种方法,

但是我的apache 2.2.15里没有这个httpd.conf文件,应该是版本不同吧。至此,已经告一段落。

 

 

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

 


配置mod_jk

mod_jk requires two entities:

mod_jk.xxx - The Apache module, depending on your operating system, it will be mod_jk.so, mod_jk.nlm or or MOD_JK.SRVPGM (see the build section).

workers.properties - A file that describes the host(s) and port(s) used by the workers (Tomcat processes). A sample workers.properties can be found under the conf directory in the source download.

 

配置mod_jk在官网文档里面关于“auto-configure”有如下说法:

Using Tomcat auto-configure

 

The auto-configure works only for a single Tomcat running on the same machine where Apache (httpd) is running. The simplest way to configure Apache to use mod_jk is to turn on the Apache auto-configure setting in Tomcat and put the following include directive at the end of your Apache httpd.conf file (make sure you replace $TOMCAT_HOME with the correct path for your Tomcat installation:

   #To be added at the end of your httpd.conf

    Include $TOMCAT_HOME/conf/jk/mod_jk.conf-auto

Note: this file may also be generated as $TOMCAT_HOME/conf/auto/mod_jk.conf

This will tell Apache to use directives in the mod_jk.conf-auto file in the Apache configuration. This file is created by enabling the Apache auto-configuration by creating your workers.properties file at $TOMCAT_HOME/conf/jk/workers.properties and adding the listener to the Engine element in the server.xml file as per the following example. Please note that this example is specific to Tomcat 5.x, unlike other sections of this document which also apply to previous Tomcat branches.

  ...

  <Engine ...>

    ...

    <Listener className="org.apache.jk.config.ApacheConfig" modJk="/path/to/mod_jk.so" />

    ...

  </Engine>

  ...

Then restart Tomcat and mod_jk.conf should be generated. For more information on this topic, please refer to the API documentation at the Tomcat docs website .

 


大概的意思,就是说,tomcat提供了一个功能,只要你做好如下操作,就能自动生成mod_jk的配置文件,很方便的完成配置:
1,指定worker.properties为:“$TOMCAT_HOME/conf/jk/workers.properties”
2,在监听器Listener中配置属性“modJk”,即指定mod_jk.so的路径。

两步过后,重新启动tomcat,$TOMCAT_HOME的目录下自动生成如下目录以及文件:conf/jk/mod_jk.conf-auto

mod_jk.conf-auto文件内容就是我们在httpd.conf中配置mod_jk的内容。但是自动生成的内容总存在缺点
如下是自动生成的配置文件(mod_jk.conf-auto

 

 

########## Auto generated on Thu Apr 01 23:42:51 CST 2010##########


<IfModule !mod_jk.c>


LoadModule jk_module "/opt/apache2/modules/mod_jk.so"


</IfModule>


JkWorkersFile "/opt/apache-tomcat-6.0.20/conf/jk/workers.properties"


JkLogFile "/opt/apache-tomcat-6.0.20/logs/mod_jk.log"


JkLogLevel emerg


#Where to put jk shared memory


JkShmFile /var/log/httpd/mod_jk.shm


<VirtualHost localhost>


ServerName localhost


JkMount /manager ajp13


JkMount /manager/* ajp13



JkMount /bio ajp13


JkMount /bio/* ajp13


JkMount /docs ajp13


JkMount /docs/* ajp13


JkMount /examples ajp13


JkMount /examples/* ajp13


JkMount /host-manager ajp13


JkMount /host-manager/* ajp13


</VirtualHost> 
 

 

这个没仔细研究了,但是我通过上次的操作,重新启动 tomcat 和 apache2 , 访问 http://localhost/examples/index.html 出现了 internal error. 系统日志报 505 错误。提示:没指定 JkShmFile 文件。

 

 

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

经过上面的一番折腾,让我明白了mod_jk
整个配置过程.
1,配置httpd.conf,主要是为了加载module.

LoadModule
jk_module modules/mod_jk.so(事先将mod_jk.so放置在modules目录下)
如果加载了module,就会执行<IfModule jk_module >...</IfModule>中相关worker,以及worker处理的url,并使其生效.
2.而在<IfModule jk_module>...</IfModule>配置workers.properties,等其他文件,
或者配置额外的urlworkmap文件,如下面的uriworkermap.properties

或者直接在httpd.conf文件中配置相关的urlworkmap.

 

 #We need a workers file exactly once


#and in the global server


JkWorkersFile conf/workers.properties



#Our JK error log


#You can (and should) use rotatelogs here


JkLogFile logs/mod_jk.log



#Our JK log level (trace,debug,info,warn,error)


JkLogLevel info


#Our JK shared memory file


JkShmFile logs/mod_jk.shm


#If you want to put all mounts into an external file


#that gets reloaded automatically after changes


#(with a default latency of 1 minute),


#you can define the name of the file here.


JkMountFile conf/extra/uriworkermap.properties
 

或者不用外部文件,而如下配置:

 

 

 #Example for Mounting a context to the worker "balancer"


#The URL syntax "a|b" instantiates two mounts at once,


#the first one is "a", the second one is "ab".


#JkMount /myapp|/* balancer 

.....
 

。。。

 

3 ,如有需要: uriworkermap.properties 的配置,这个很简单,如下:

 

 

#This file provides sample mappings for example wlb


#worker defined in workermap.properties.minimal


#The general syntax for this file is:


#[URL]=[Worker name]



/admin/*=wlb


/manager/*=wlb


/jsp-examples/*=wlb


/servlets-examples/*=wlb


/examples/*=wlb 

 

 

 

以上的配置文件信息来自于从官网下载的 source.tar.gz 包中的 cong 目录的几个相关的配置文件实例。

 

 

在下载 mod_jk.so 这个二进制文件时,需要注意了,注意自己系统支持的体系结构,就 jk-1.2.28

 

binary 版本下载而言,提供了适合在 i586 以及 x86_64. 我们普通的 PC 一般是 i386, 应该下载 i586, 至少不能下 64 位的版本哦。

 

 

i586,i386 的区别以及相似的地方参看:

http://blog.csdn.net/BSKnight/archive/2009/12/30/5108821.aspx

 

 

-------------------------------------------============

经过上面的 N 次折腾,总算把 apache + tomcat 等基本的安装,配置过程有了清楚的理解。写下此篇文章,以后参考。如果给新手一些帮助,那就十分高兴。

 

 

 

 

分享到:
评论
6 楼 diddyrock 2010-04-10  
apache过时啦~~
5 楼 FeiXing2008 2010-04-09  
觉得你还是不太会使用ub.
都是中M$毒太深了吧。

现在都不使用Apache了,使用nginx
4 楼 Anddy 2010-04-09  
skzr.org 写道
软件的路径,可以在新力得的详细信息中查看,里面有所有的路径信息

好久没使用新力得软件,而是使用ubuntu software center 。

引用
我的一点心得
tomcat的启动,我没有整合apache,我直接启动的tomcat/bin/startup.sh
这里需要把startup.sh,catalina.sh,setclasses.sh都设置为可执行,否则运行startup.sh无反应!


这个问题我也遇到过,不过是在去客服部署项目时遇到的。

chmod -R o+x ....
3 楼 skzr.org 2010-04-09  
软件的路径,可以在新力得的详细信息中查看,里面有所有的路径信息

我的一点心得
tomcat的启动,我没有整合apache,我直接启动的tomcat/bin/startup.sh
这里需要把startup.sh,catalina.sh,setclasses.sh都设置为可执行,否则运行startup.sh无反应!
2 楼 robertliudeqiang 2010-04-09  
能排版一下就好了,收藏一下。
1 楼 zjhlht 2010-04-09  
正好在用debian下来测试整合apache和tomcat,刚好用的!

linux下和windows下,差异还是有点大啊!

相关推荐

    ubuntu linux下apache与tomcat的整合.txt

    ### Ubuntu Linux 下 Apache 与 Tomcat 的整合 在 Ubuntu Linux 环境中,Apache 和 Tomcat 的整合是一项常见的任务,旨在实现静态内容通过 Apache 服务器进行高效分发,而动态内容(如 Java 应用)则通过 Tomcat ...

    apache-tomcat-9.0.22 linux centos ubuntu 安装包

    apache-tomcat-9.0.22 linux centos ubuntu 安装包apache-tomcat-9.0.22 linux centos ubuntu 安装包apache-tomcat-9.0.22 linux centos ubuntu 安装包apache-tomcat-9.0.22 linux centos ubuntu 安装包apache-...

    Apache与Tomcat 整合发布web(Linux)

    这篇文章将探讨如何在Linux环境下整合Apache与Tomcat,以便更有效地发布Web应用。 首先,让我们了解Apache和Tomcat的基本功能。Apache主要负责处理静态网页内容,如HTML、CSS、JavaScript等,而Tomcat则是Java应用...

    最新版linux apache-tomcat-10.0.0-M7.tar.gz

    在这个最新的Linux版本“apache-tomcat-10.0.0-M7.tar.gz”中,我们看到了Tomcat的第十个主要版本的预发布版。 Tomcat 10.0.0-M7是迈向10.0.0稳定版的一个中间里程碑,这个版本通常包含了新功能、性能改进以及bug...

    ubuntu mysql apache2 tomcat 安装配置

    ubuntu mysql apache2 tomcat 安装配置

    apache+tomcat整合配置

    将Apache与Tomcat整合,可以实现动态和静态内容的高效分发,提高Web服务的性能。下面我们将详细介绍如何进行Apache与Tomcat的整合配置。 1. **安装与准备** - 首先,你需要在服务器上分别安装Apache HTTP服务器和...

    linux下apache2.2整合tomcat6详细步骤.docx

    在Linux环境下,将Apache2.2与Tomcat6进行整合是一项常见的任务,这通常涉及到创建一个Web服务器集群,以便能够处理动态和静态内容。Apache作为前端服务器,主要负责静态资源的处理,而Tomcat作为后端应用服务器,...

    linux下Nginx+tomcat整合的安装与配置

    ### Linux下Nginx+Tomcat整合的安装与配置详解 在现代的Web服务器架构中,Nginx作为高性能的反向代理服务器和负载均衡器,常被用来与Tomcat等应用服务器配合使用,以提高网站的响应速度、稳定性和安全性。本文将...

    apache与tomcat整合配置

    将Apache与Tomcat整合可以实现更高效的Web服务,充分利用Apache的静态内容处理能力和Tomcat的动态内容处理能力。下面我们将详细介绍Apache与Tomcat整合配置的步骤、方法以及一些关键知识点。 **1. 为什么要整合...

    apache-tomcat-8.5.27.tar.gz

    在Linux环境下,这个版本的Tomcat可以无缝集成到各种Linux发行版中,如Ubuntu、CentOS或Debian。 部署Apache Tomcat 8.5.27的步骤如下: 1. **下载与解压**:首先从Apache官方网站下载"apache-tomcat-8.5.27.tar....

    Linux结课论文 ubuntu下 apache mysql php环境的整合

    总结来说,该文详细阐述了在Ubuntu环境下配置LAMP环境的过程,包括Apache、PHP和MySQL的安装与配置,以及DedeCMS的内容管理系统安装和自定义,为读者提供了一套完整的Linux服务器环境搭建和网站开发流程。

    ubuntu下安装apache和tomcat

    ### Ubuntu 下 Apache 和 Tomcat 的安装与配置 #### 一、Apache 的安装 Apache 是一款广泛使用的开源 Web 服务器软件,适用于多种操作系统平台,包括 Linux。对于 Ubuntu 系统而言,安装 Apache 可以通过以下步骤...

    ubuntu linux下安装apache

    ubuntu linux下安装apache。

    Linux搭建Apache+Tomcat环境

    本说明手册为了阐述Linux搭建Apache+Tomcat环境,并详细介绍Tomcat的集群和负载均衡配置而编写。届时介绍域名的绑定,Red Hat和Ubuntu中随系统自动启动个软件的配置方法。

    apache包和tomcat安装包(Linux系统)

    Apache与Tomcat的整合通常用于实现动态和静态内容的分离。你可以配置Apache作为反向代理,将动态请求转发给Tomcat处理。编辑Apache的配置文件`/etc/httpd/conf/httpd.conf`,添加以下内容: ```apacheconf ...

    ubuntu下安装tomcat

    在Ubuntu Linux系统下安装Tomcat是一项常见的任务,尤其对于那些希望在基于Linux的环境中部署Java Web应用程序的开发者来说。本文将详细阐述如何在Ubuntu下安装并配置Tomcat,包括必要的JDK安装步骤以及Tomcat环境...

    linuxubuntu下apache服务器的搭建.pdf

    Linux Ubuntu 下 Apache 服务器的搭建 一、 Apache 简介 Apache 是一种流行的 Web 服务器软件,具有高效、稳定、安全、免费等特点。Apache 源于 NCSAhttpd 服务器,经过多次修改,成为世界上最流行的 Web 服务器...

    ubuntu14.04用apache-tomcat-8.0.15.tar.gz

    在本场景中,我们关注的是在Ubuntu 14.04操作系统上安装和配置Apache Tomcat 8.0.15的过程。这个过程涉及到几个关键步骤,包括下载、解压、配置环境变量、启动服务以及进行基本的故障排查。 首先,我们需要从官方...

    ubuntu 下安装配置tomcat

    ### Ubuntu下安装配置Tomcat #### 一、前言与环境准备 在Ubuntu系统中部署Java Web应用时,经常需要用到Apache Tomcat服务器。本文将详细介绍如何在Ubuntu 10.10-amd64版系统上安装并配置Tomcat。通过本教程,你将...

    tomcat-8.5.24_for_Linux CSDN 下载

    Tomcat 8.5.24是为Linux平台设计和优化的,可以在各种Linux发行版上运行,如Ubuntu、CentOS、Red Hat Enterprise Linux等。 4. **服务安装与配置**: 在Linux系统上安装Tomcat 8.5.24,通常需要解压下载的压缩包,...

Global site tag (gtag.js) - Google Analytics