Apache负载均衡服务器安装及配置

1 Apache简介
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一.它快速,可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。关于更多Apache的介绍,可以参考百科http://baike.baidu.com/view/28283.htm或官网http://www.apache.org/ 或 http://httpd.apache.org/的介绍

2 Apache软件及相关软件下载
2.1 Apache软件下载
Apache的相关软件下载地址http://apr.apache.org/projects.html

2.2 APR and APR-Util包下载
截止目前为止,APR and APR-Util的最新版本如下,下载地址:http://apr.apache.org/download.cgi
• APR 1.4.8, released June 21, 2013
• APR-util 1.5.2, released April 4, 2013
• APR-iconv 1.2.1, released November 26, 2007

2.3 PCRE包下载
截止目前为止,PCRE最新的包为8.33,下载地址如下
• https://sourceforge.net/projects/pcre/files/pcre/

2.4 Apache安装要求
将上面的安装包上传到linux中的root/kerry这个临时目录.
下面是官方文档的要求,必须安装APR、APR-Util、PCRE,gcc-c++等包,文档URL地址http://httpd.apache.org/docs/2.4/install.html

3 Apache安装
3.1 安装包gcc或gcc-c++
[root@getlnx05 pcre-8.33]# yum list gcc-c++
Loaded plugins: product-id, security, subscription-manager
Updating Red Hat repositories.
Available Packages
gcc-c++.x86_64 4.1.2-51.el5 rhel-debuginfo
[root@getlnx05 pcre-8.33]# yum list gcc
Loaded plugins: product-id, security, subscription-manager
Updating Red Hat repositories.
Installed Packages
gcc.x86_64 4.1.2-51.el5 installed
[root@getlnx05 pcre-8.33]# rpm -q gcc
gcc-4.1.2-51.el5
从上面可见gcc包已经安装,缺少gcc-c++包,那么接下来安装包gcc-c++,如果此处不安装该包,后面安装过程中会报错
[root@getlnx05 pcre-8.33]#yum install gcc-c++
3.2 安装包gcc或gcc-c++
[root@getlnx05 kerry]# ls apr*
apr-1.4.8.tar.gz apr-util-1.5.2.tar.gz
[root@getlnx05 kerry]#
[root@getlnx05 kerry]# tar -zxf apr-1.4.8.tar.gz
[root@getlnx05 kerry]# cd apr-1.4.8
[root@getlnx05 apr-1.4.8]# ls

新建目录/usr/local/apr,用作安装目录:
[root@getlnx05 apr-1.4.8]# mkdir /usr/local/apr
[root@getlnx05 apr-1.4.8]# ./configure --prefix=/usr/local/apr

[root@getlnx05 apr-1.4.8]# make
[root@getlnx05 apr-1.4.8]# make install

安装完成后,可以验证一下
[ root@getlnx05 apr]# ls -lrt
total 32
drwxr-xr-x 3 root root 4096 Aug 15 06:57 include
drwxr-xr-x 3 root root 4096 Aug 15 06:57 lib
drwxr-xr-x 2 root root 4096 Aug 15 06:57 build-1
drwxr-xr-x 2 root root 4096 Aug 15 06:57 bin
[root@getlnx05 kerry]# mkdir /usr/local/apr-util
[root@getlnx05 kerry]# tar -zxf apr-util-1.5.2.tar.gz
[root@getlnx05 kerry]# cd apr-util-1.5.2

[root@getlnx05 apr-util-1.5.2]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config

[root@getlnx05 apr-util-1.5.2]# make
[root@getlnx05 apr-util-1.5.2]# make install

3.3 安装包PRCE
[root@getlnx05 kerry]# unzip pcre-8.33.zip
[root@getlnx05 kerry]# cd pcre-8.33
[root@getlnx05 kerry]#mkdir /usr/local/pcre
[root@getlnx05 pcre-8.33]# ./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr

[root@getlnx05 pcre-8.33]# make
[root@getlnx05 pcre-8.33]# make install

3.4 安装Apache Http Server
[root@getlnx05 kerry]# tar zxvf httpd-2.4.6.tar.gz
[root@getlnx05 kerry]#cd httpd-2.4.6
[root@getlnx05 httpd-2.4.6]# ./configure --prefix=/usr/local/apache --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
[root@getlnx05 httpd-2.4.6]#make
[root@getlnx05 httpd-2.4.6]#make install
3.5 启动Apache服务
[root@getlnx05 httpd-2.4.6]# /usr/local/apache/bin/apachectl start
用浏览器访问http://localhost时提示It works!

4 Apache安装常见问题
4.1 缺少gcc-c++导致安装apr-util通不过
[root@getlnx05 kerry]# unzip pcre-8.33.zip
[root@getlnx05 kerry]# cd pcre-8.33
[root@getlnx05 pcre-8.33]# ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config

一般出现这个错误是因为没有安装包gcc-c++,可以通过如下命令检查,
[root@getlnx05 pcre-8.33]# yum list gcc-c++
Loaded plugins: product-id, security, subscription-manager
Updating Red Hat repositories.
Available Packages
gcc-c++.x86_64 4.1.2-51.el5 rhel-debuginfo
[root@getlnx05 pcre-8.33]# yum list gcc
Loaded plugins: product-id, security, subscription-manager
Updating Red Hat repositories.
Installed Packages
gcc.x86_64 4.1.2-51.el5 installed
[root@getlnx05 pcre-8.33]# rpm -q gcc
gcc-4.1.2-51.el5
[root@getlnx05 pcre-8.33]# rpm -q gcc-c++
4.2 checking for APR-util…configure:error:the –with-apr-util parameter is incorrect
[root@getlnx05 httpd-2.4.6]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
checking for chosen layout… Apache
checking for working mkdir -p… yes
checking for grep that handles long lines and -e… /bin/grep
checking for egrep… /bin/grep -E
checking build system type… x86_64-unknown-linux-gnu
checking host system type… x86_64-unknown-linux-gnu
checking target system type… x86_64-unknown-linux-gnu
configure:
configure: Configuring Apache Portable Runtime library…
configure:
checking for APR… yes
setting CC to “gcc”
setting CPP to “gcc -E”
setting CFLAGS to " -g -O2 -pthread"
setting CPPFLAGS to " -DLINUX -D_REENTRANT -D_GNU_SOURCE"
setting LDFLAGS to " "
configure:
configure: Configuring Apache Portable Runtime Utility library…
configure:
checking for APR-util… configure: error: the --with-apr-util parameter is incorrect. It must specify an install prefix, a build directory, or an apu-config file.
[root@getlnx05 httpd-2.4.6]#
一般是由于APR-util没有安装成功,可以通过验证该目录是否为空来判断,因为你有时候执行了make,忘了执行make isntall命令有可能导致这个错误。
[root@getlnx05 apr]# cd /usr/local/apr-util
[root@getlnx05 apr-util]# ls
4.3 没有指定PCRE参数
[root@getlnx05 httpd-2.4.6]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
checking for chosen layout… Apache
checking for working mkdir -p… yes
checking for grep that handles long lines and -e… /bin/grep
checking for egrep… /bin/grep -E
checking build system type… x86_64-unknown-linux-gnu
checking host system type… x86_64-unknown-linux-gnu
checking target system type… x86_64-unknown-linux-gnu
configure:
configure: Configuring Apache Portable Runtime library…
configure:
checking for APR… yes
setting CC to “gcc”
setting CPP to “gcc -E”
setting CFLAGS to " -g -O2 -pthread"
setting CPPFLAGS to " -DLINUX -D_REENTRANT -D_GNU_SOURCE"
setting LDFLAGS to " "
configure:
configure: Configuring Apache Portable Runtime Utility library…
configure:
checking for APR-util… yes
checking for gcc… gcc
checking whether the C compiler works… yes
checking for C compiler default output file name… a.out
checking for suffix of executables…
checking whether we are cross compiling… no
checking for suffix of object files… o
checking whether we are using the GNU C compiler… yes
checking whether gcc accepts -g… yes
checking for gcc option to accept ISO C89… none needed
checking how to run the C preprocessor… gcc -E
checking for gcc option to accept ISO C99… -std=gnu99
checking for pcre-config… false
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
[root@getlnx05 httpd-2.4.6]#
4.4 安装前忘记了先安装APR相关包
[root@getlnx05 httpd-2.4.6]# ./configure --prefix=/usr/local/appache/
checking for chosen layout… Apache
checking for working mkdir -p… yes
checking for grep that handles long lines and -e… /bin/grep
checking for egrep… /bin/grep -E
checking build system type… x86_64-unknown-linux-gnu
checking host system type… x86_64-unknown-linux-gnu
checking target system type… x86_64-unknown-linux-gnu
configure:
configure: Configuring Apache Portable Runtime library…
configure:
checking for APR… no
configure: error: APR not found. Please read the documentation.
[root@getlnx05 httpd-2.4.6]#
4.5 启动服务时报错
[root@getlnx05 httpd-2.4.6]# /usr/local/apache/bin/apachectl start
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using getlnx05.gfg1.esquel.com. Set the ‘ServerName’ directive globally to suppress this message
这个时候需要编辑httpd.conf配置文件,添加SeraverName的具体IP地址。如下所示
[root@getlnx05 conf]# cd /usr/local/apache/conf/
[root@getlnx05 conf]# ls
extra httpd.conf magic mime.types original
[root@getlnx05 conf]# vi httpd.conf
ServerAdmin [email protected]

ServerName gives the name and port that the server uses to identify itself.

This can often be determined automatically, but we recommend you specify

it explicitly to prevent problems during startup.

If your host doesn’t have a registered DNS name, enter its IP address here.

#ServerName www.example.com:80
ServerName 192.168.9.122:80

Deny access to the entirety of your server’s filesystem. You must

explicitly permit access to web content directories in other

blocks below.

“httpd.conf” 502L, 18179C written
[root@getlnx05 conf]# /usr/local/apache/bin/apachectl restart
httpd not running, trying to start
[root@getlnx05 conf]# /usr/local/apache/bin/apachectl start
httpd (pid 7797) already running
如果从其它电脑连接访问Apache时,输入url地址:http://192.168.9.122页面没有显示正常,而上面配置也OK,那么你必须关闭防火墙,有时候甚至需要重启电脑才能OK,重启Apache服务都无效。
[root@getlnx05 conf]# chkconfig iptables off
[root@getlnx05 conf]# chkconfig iptables off
[root@getlnx05 conf]# /usr/local/apache/bin/apachectl restart
[root@getlnx05 conf]# /usr/local/apache/bin/apachectl restart
[root@getlnx05 conf]#

5 Apache对Weblogic服务器负载均衡配置
5.1 在Apache中添加Weblogic配置文件
将mod_wl_24.so拷贝到apache中的目录modules下 #注意 mod_wl_24.so 文件要和使用的weblogic版本匹配 我这里使用的64位的
mod-wl_24.so对应的是Apache2.4的版本

5.2 修改httpd.conf配置文件
配置文件在/apache/conf/下
在httpd.conf中找到配置
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so # 两个文件 去掉前面的#
在httpd.conf最下面一行新增
LoadModule weblogic_module modules/mod_wl_24.so #注意 mod_wl_24.so 文件要和使用的weblogic版本匹配 我这里使用的64位的

你可能感兴趣的:(apache,httpd)