Tomcat+mod_jk+Apache安装

  • 来源:
  • 更新日期:2018-05-08

摘要:一.安装tomcat+apache 1、安装过程中提示需要gcc支持,解决方法如下 yum -y install gcc yum -y install gcc-c++ 1.2、安装过程中提示提示APR not found 解决方法如下 下载apr安装包 tar zxvf apr-1.4.6.

一.安装tomcat+apache

1、安装过程中提示需要gcc支持,解决方法如下

yum -y install gcc yum -y install gcc-c++

002UASMrzy7605pjKJv15&690.jpg

1.2、安装过程中提示提示APR not found解决方法如下

下载apr安装包

1.3、下载apr-util安装包

1.4、下载pcre安装包

 

2、准备,下载需要的文件。这里假定你已经正确安装配置好了JDK。
到Apache官方网站下载所需要的文件:
httpd-2.2.0.tar.gz
apache-tomcat-5.5.12.tar.gz
jakarta-tomcat-connectors-1.2.15-src.tar.gz
其中httpd和jakarta-tomcat-connectors为源码包,apache-tomcat为二进制包。
3、安装Apache

tar xzvf httpd-2.2.0.tar.gz cd httpd-2.2.0 ./configure --prefix=/usr/local/apache2 --enable-so make make install

4、安装Tomcat。

cp apache-tomcat-5.5.12.tar.gz /usr/local/ cd /usr/local# tar xzvf apache-tomcat-5.5.12.tar.gz ln -s apache-tomcat-5.5.12 tomcat

5、编译生成mod_jk。

代码:#

tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz cd jakarta-tomcat-connectors-1.2.15-src/jk/native ./configure --with-apxs=/usr/local/apache2/bin/apxs make cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/

6、配置。

6.1、在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties。
6.2、修改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

6.2、修改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

6.3、再配置httpd.conf,作以下修改:
将Listen 80 修改为 Listen 127.0.0.1 : 80
将ServerName 修改为 ServerName LocalHost : 80
在DirectoryIndex中添加 index.jsp
我的网页放在/var/wwwroot下,所以要修改DocumentRoot

DocumentRoot "/var/wwwroot" <Directory "/var/wwwroot"> Options Includes FollowSymLinks AllowOverride None Order deny,allow Allow from all XBitHack on </Directory> <Directory "/var/wwwroot/WEB-INF"> Order deny,allow Deny from all </Directory>

增加关于加载mod_jk的配置:

LoadModule jk_module modules/mod_jk.so Include /usr/local/apache2/conf/mod_jk.conf


6.4、最后编辑Tomcat的配置文件server.xml,在HOST段中加入:

<Context path="" docBase="/var/wwwroot"debug="0" reloadable="true" crossContext="true"/>

 

 

 

httpd.conf常用字段:

一、字段

1:根目录设置ServerRoot

默认设置:ServerRoot“/etc/httpd”

2:超时设置Timeout

默认设置:Timeout120

3:客户端最大连接数限制MaxClients

默认设置:MaxClients256

4:设置管理员邮件地址ServerAdmin

默认设置:ServerAdminroot@localhost

5:设置www服务器主机名称ServerName

默认设置:ServerAdminwww.example.com:80

6:设置文档目录DocumentRoot

默认设置:DocumentRoot“/var/www/html”

7:首页index.html

默认设置:DirectoryIndexindex.htmlindex.html.var

8:网页编码设置AddDefaultCharset

默认设置:AddDefaultCharsetGB2312

9:错误日志ErrorLog

默认设置:ErrorLoglogs/error_log

10:访问日志CustomLog

默认设置:CustomLoglogs/access_logcommon

二、容器

对网站的目录和文件限制性访问

<Directory目录> 控制语句 </Directory>

1、根目录默认设置:

<Directory/>/////根目录的默认访问权限 OptionsFollowSymLinks//////允许在目录使用符号链接 AllowOverrrideNone//////禁止使用.htaccess <Directory>

Options字段来定义目录使用哪些特性,有Indexes ,ExecCGI ,ALL等等

AllowOverride字段与.htaccess有关

2、文档目录的默认设置:

<Directory“/var/www/html”>/////文档目录 Options Indexes FollowSymLinks//////访问权限 Order allow,deny///////顺序很重要 Allow from all//////允许所有的访问 <Directory>

3、虚拟目录

使用Alias字段可以创建虚拟目录

Alias虚拟目录实际路径

默认设置:

Alias/icons/“/var/www/icons/”

4、运行apache的用户和组

默认设置:

Userapache Groupapache

(也可以设定为nobody,更加安全)

三、虚拟主机

1:基于IP地址的虚拟主机

服务器站点为kk.apple.comip地址为192.168.1.112

增加两个虚拟站点:www.apple.com和bbs.apple.com

映射ip:

www.apple.com192.168.1.253

bbs.apple.com192.168.1.254

绑定ip:

Ifconfigeth0:0 192.168.1.253netmask 255.255.255.0

Ifconfigeth0:1 192.168.1.254netmask 255.255.255.0

(放入/etc/rc.d/rc.local随系统启动而启动)

配置虚拟主机:

<VirtualHost192.168.1.112:80> DocumentRoot/var/www/html/kk.apple.com ServerNamekk.apple.com </VirtualHost> <VirtualHost192.168.1.253:80> DocumentRoot/var/www/html/www.apple.com ServerNamewww.apple.com </VirtualHost> <VirtualHost192.168.1.254:80> DocumentRoot/var/www/html/bbs.apple.com ServerNamebbs.apple.com </VirtualHost>

重启apache

(注意:分别在/var/www/html/下建立虚拟站点的目录,首页以及访问的网页)

2、基于域名的虚拟主机开启:NameVirtualHost *:80

<VirtualHost*:80> DocumentRoot/var/www/html/kk.apple.com ServerNamekk.apple.com </VirtualHost> <VirtualHost*:80> DocumentRoot/var/www/html/www.apple.com ServerNamewww.apple.com </VirtualHost> <VirtualHost*:80> DocumentRoot/var/www/html/bbs.apple.com ServerNamebbs.apple.com </VirtualHost>

在DNS服务器里把所有的虚拟站点指向www服务器的ip:192.168.1.112

重启named

重启apache

四、访问控制(基于网站或基于目录或文件)

 

orderallowdeny

实例:

orderallow,deny///////注意顺序 allowfrom192.168.1.0/255.255.255.0//////允许这个网段访问 denyfrom192.168.110///////拒绝这个IP的访问