Linux下apache+tomcat+jk+ssl配置

  • 准备工作

确保服务器安装了g++、gcc、jdk,命令如下

g++ --version
gcc --version
java -version

下载apache:http://httpd.apache.org/download.cgi 这里用httpd-2.2.26.tar.gz

下载tomcat:http://tomcat.apache.org/download-70.cgi 这里用apache-tomcat-7.0.50.tar.gz

下载jk:http://tomcat.apache.org/download-connectors.cgi 这里用tomcat-connectors-1.2.37-src.tar.gz

 

  • apache安装

安装命令

tar zxvf httpd-2.2.26.tar.gz
cd httpd-2.2.26
./configure --prefix=/home/apache --enable-so --enable-mods-shared=most --with-mpm=worker
make && make install

 启动命令

cd /home/apache/bin
./apachectl start

停止命令

killall httpd

 

访问http://127.0.0.1,返回It works! 说明apache安装成功。

 

安装过程中可能会报apr和apr-util没找到,需要先安装这两个包。

下载地址http://apr.apache.org/download.cgi

安装命令

tar -xf apr-1.5.0.tar.gz
cd apr-1.5.0
./configure
make && make install

tar -xf apr-util-1.5.3.tar.gz
cd apr-util-1.5.3
./configure --with-apr=/usr/local/apr
make && make install

 

 

 

  • jk安装

安装命令

tar zxvf tomcat-connectors-1.2.37-src.tar.gz
cd tomcat-connectors-1.2.37-src/native
./configure --with-apxs=/home/apache/bin/apxs
make

编译完成后可以在/home/tomcat-connectors-1.2.37-src/native/apache-2.0下找到mod_jk.so文件

将该文件复制到apache的modules目录下面

 

  • tomcat安装

安装命令

tar zxvf apache-tomcat-7.0.50.tar.gz

 启动命令,进入tomcat的bin目录

./startup.sh

 停止命令,进入tomcat的bin目录

./shutdown.sh

 

  • 配置http请求转发

这里以apache转发到一个tomcat为例

修改apache/conf下的httpd.conf文件,加入LoadModule jk_module modules/mod_jk.so

并且添加jk模块:

<IfModule jk_module>
  JkWorkersFile conf/workers.properties
  JkMountFile conf/uriworkermap.properties
  JkLogFile logs/mod_jk.log
</IfModule>

 在conf目录下添加workers.properties

#server  列表
worker.list=tomcats,jk_watcher,tomcat09

#controller(负载均衡控制器)
worker.tomcats.type=lb
#指定分担请求的tomcat
worker.tomcats.balanced_workers=tomcat09
#粘性session
#表示从同一窗口发来的请求都将有集群中的同一个tomcat进行处理。配置方式是在上面workers.properties文件
worker.tomcats.sticky_session=1
worker.retries=3

worker.jk_watcher.type=status
 
# tomcat09(ajp13  8009)
worker.tomcat09.port=8009
#tomcat 的主机地址,如不为本机,请填写ip地址
worker.tomcat09.host=127.0.0.1
worker.tomcat09.type=ajp13
#server 的加权比重,值越高,分得的请求越多
worker.tomcat09.lbfactor=1
worker.tomcat09.socket_keepalive=true
worker.tomcat09.socket_timeout=20
worker.tomcat09.connection_pool_size=1000
worker.tomcat09.connection_pool_minsize=250
worker.tomcat09.connection_pool_timeout=600

这里在worker.list添加了三个tomcat。tomcats是做集群用的, jk_watcher是apache监控页面,tomcat09是本机tomcat。

在conf目录下添加uriworkermap.properties

/test/*=tomcat09
/test=tomcat09

/jkstatus=jk_watcher

里面配置了url的请求转发给哪个tomcat。 

所有test工程的请求都交给了tomcat09,tomcat09启动了ajp的8009端口接收apache的转发。

/jkstatus=jk_watcher是监控页面的url。可以通过http://127.0.0.1/jkstatus访问监控页面。

 

修改tomcat的server.xml配置文件,将原来开发的http端口8080注释,开发ajp的端口8009

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

 

启动apache和tomcat,可以测试所有的转发。

 

  • 配置https请求转发

上面配置的都是http请求转发。要配置https请求转发需要用到apache的ssl模块。apache需要开发https的端口443。依旧是转发到tomcat的ajp端口。

 

apache安装ssl模块需要先下载OpenSSL

下载地址:http://www.openssl.org/  这里用的是openssl-0.9.8l.tar.gz

tar zxvf openssl-0.9.8l.tar.gz 
cd openssl-0.9.8l
./config 
make && make install

 最后默认安装在/usr/local/ssl目录下面。

 

 需要重新安装apache,并启动ssl模块。

安装apache就多了下面红字部分,其他不变。

./configure --prefix=/home/apache --enable-ssl=static --with-ssl=/usr/local/ssl --enable-so --enable-mods-shared=most --with-mpm=worker

 

在apache的httpd.conf里面去掉如下行的注释

Include conf/extra/httpd-ssl.conf

 修改的以下几项

ServerName:修改成当前主机的ip或域名

修改SSLCertificateFile "/home/apache/conf/server.crt"

       SSLCertificateKeyFile "/home/apache/conf/server.key"

server.crt和server.key的生成参考http://ye-liang.iteye.com/blog/2003057

所有路径改成当前apache路径,如果apache是用命令安装的话,路径不变。 

在文件最后添加JkMount /test/* tomcat09

 

最后启动apache,访问https://127.0.0.1/

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值