文档章节

Tomcat+mod_jk+Apache安装

lizeping
 lizeping
发布于 2016/09/23 17:11
字数 1236
阅读 18
收藏 0

一.安装tomcat+apache

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

yum -y install gcc

yum -y install gcc-c++

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

下载apr安装包:

http://apache.etoak.com//apr/apr-1.4.6.tar.gz

tar zxvf apr-1.4.6.tar.gz

cd apr-1.4.6

./configure --prefix=/usr/local/apr

make && make install

1.3、下载apr-util安装包:

http://mirror.bjtu.edu.cn/apache//apr/apr-util-1.5.1.tar.gz

tar zxvf apr-util-1.5.1.tar.gz

cd apr-util-1.5.1

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config

make && make install

1.4、下载pcre安装包:

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.zip

unzip pcre-8.32.zip

cd pcre-8.32

./configure --prefix=/usr/local/pcre

make && make install

 

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

   默认设置:Timeout  120

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

   默认设置:MaxClients    256

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

   默认设置:ServerAdmin  root@localhost

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

   默认设置:ServerAdmin  www.example.com:80

6:设置文档目录 DocumentRoot

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

7:首页 index.html

   默认设置:DirectoryIndex  index.html  index.html.var

8:网页编码设置 AddDefaultCharset

   默认设置:AddDefaultCharset  GB2312

9:错误日志 ErrorLog

   默认设置:ErrorLog  logs/error_log

10:访问日志 CustomLog

   默认设置:CustomLog  logs/access_log  common

二、容器

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

<Directory   目录>

   控制语句

</Directory>

1、根目录默认设置:  

<Directory/>     /////根目录的默认访问权限

       Options  FollowSymLinks   //////允许在目录使用符号链接

       AllowOverrride  None     //////禁止使用.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的用户和组

默认设置:

User  apache

Group  apache

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

三、虚拟主机

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

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

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

映射ip:

      www.apple.com  192.168.1.253

      bbs.apple.com    192.168.1.254

绑定ip:

Ifconfig  eth0:0 192.168.1.253  netmask 255.255.255.0

Ifconfig  eth0:1 192.168.1.254  netmask 255.255.255.0

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

配置虚拟主机:

<VirtualHost  192.168.1.112:80>

              DocumentRoot  /var/www/html/kk.apple.com

              ServerName  kk.apple.com

</VirtualHost>

<VirtualHost  192.168.1.253:80>

              DocumentRoot  /var/www/html/www.apple.com

              ServerName  www.apple.com

</VirtualHost>

<VirtualHost  192.168.1.254:80>

              DocumentRoot  /var/www/html/bbs.apple.com

              ServerName  bbs.apple.com

</VirtualHost>

重启apache

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

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

<VirtualHost  *:80>

              DocumentRoot  /var/www/html/kk.apple.com

              ServerName  kk.apple.com

</VirtualHost>

<VirtualHost  *:80>

              DocumentRoot  /var/www/html/www.apple.com

              ServerName  www.apple.com

</VirtualHost>

<VirtualHost  *:80>

              DocumentRoot  /var/www/html/bbs.apple.com

              ServerName  bbs.apple.com

</VirtualHost>

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

 重启named

 重启apache

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

 

order   allow  deny  

 实例:  

order   allow,deny       ///////注意顺序

allow   from  192.168.1.0/255.255.255.0    //////允许这个网段访问

deny   from  192.168.110    ///////拒绝这个IP的访问


 

 

© 著作权归作者所有

共有 人打赏支持
lizeping
粉丝 0
博文 12
码字总数 7296
作品 0
北京
程序员
私信 提问

暂无文章

JS 调用Angularjs 的方法

// 1. 获取 Controllerlet appElement = document.querySelector('[data-ng-controller=MessagesCtrl]');let scope = angular.element(appElement).scope();// 2. 调用方法scope.l......

Moks角木
32分钟前
1
0
dubbo+zookeeper与 eureka的区别

CAP CAP 原则指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得 在分布式架构里, P必须有 Zookeeper保证C P 当...

群星纪元
42分钟前
2
0
云计算之边缘计算大势所趋

如果说边缘计算是公同认定的目标,那么我们看到,不同类型的厂商基于自身的特点,会从不同的起点、沿着不同的路径,向这个目标奔跑。上次参加阿里云的一次活动,看到他们将边缘计算的厂商分成...

linuxCool
47分钟前
0
0
前端通过后端传过来的'\n' ,''等字符串换行失败问题

后台推送换行符 '\n' 或 '<br/>' 等字符串到前台不会换行 详细描述 后台逻辑处理返回String字符串,其中包含\n或<br/>等换行符号,但是前端渲染时候却并没有真正的换行 也尝试了大佬的各种 ...

下次用oschina
53分钟前
2
0
volatile能保证有序性吗?

在前面提到volatile关键字能禁止指令重排序,所以volatile能在一定程度上保证有序性。   volatile关键字禁止指令重排序有两层意思:   1)当程序执行到volatile变量的读操作或者写操作时...

无精疯
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部