pound reverse proxy installation with google performance tools and pcre
DESCRIPTION
The Pound program is a reverse proxy, load balancer and HTTPS front-end for Web server(s). Pound was developed to enable distributing the load among several Web-servers and to allow for a convenient SSL wrapper for those Web servers that do not offer it nativelyTRANSCRIPT
Pound installation on redhat enterprise Linux 4 x86_64
Introduction :The Pound program is a reverse proxy, load balancer and HTTPS front-end for Web server(s).
Pound was developed to enable distributing the load among several Web-servers and to allow for a convenient SSL wrapper for those Web servers that do not offer it natively. Pound is distributed under the GPL - no warranty, it's free to use, copy and give away.
I will install pound to serve many asp's on single IP . and use pound and reverse proxy and load balancer.
Software :Pound-2.2.7PCRE-devel ( Highly recommended)Google perftools 0.8 ( Highly recommended )
Installation :
I would be installing pound against PCRE and tcmalloc thread allocation library provided by google. Pound README suggests this about these requirements
" The PCRE package is strongly recommended .... If the PCRE package is available Pound will link against it. This will provide a significant performance boost. "
PCRE-devel installation :
# yum install pcre-devel
Google perftools installation :
# mkdir ~/software# cd ~/software# wget http://google-perftools.googlecode.com/files/google-perftools-0.8.tar.gz# tar xzf .tar.gz# cd google-perftools-0.8# ./configure --prefix/home/atif/googlelib# make
it gave an error
src/base/linux_syscall_support.h:339: error: invalid conversion from `long int' to `void*'make: *** [libtcmalloc_minimal_la-malloc_hook.lo] Error 1
open src/base/linux_syscall_support.h and edit line 338
Change this To this
static inline _syscall6(void*, sys_mmap, void*, s, size_t, l, int, p, int, f, int, d,
static inline _syscall6(long int, sys_mmap, void*, s, size_t, l, int, p, int, f, int, d,
after that
# make clean# make# mkdir /home/atif/googlelib# make install
I also added in LD_LIBRARY_PATH the location /home/atif/googlelib/lib , in fact i even added it in /etc/ld.so.conf and ran
# ldconfig
( assumin that poind configure will find these , but it didn't happen u will see later )
Pound installation :
# cd ~/software# wget http://www.apsis.ch/pound/Pound-2.2.7.tgz# tar xzf Pound-2.2.7.tgz# cd Pound-2.2.7# ./configure --prefix=/home/atif/pound
Although PCRE-devel was installed with rpm and googlelib was in ld_library_path and ld.so.conf , configure script of pound could not find both and was not linking against these libraries.
So i had to export LDFLAGS and CPPFLAGS before running configure script which than found both libraries and linked against them .
# export LDFLAGS="-L/home/atif/googlelib/lib"# export CPPFLAGS="-I/usr/include/pcre"# ./configure --prefix=/home/atif/pound# make# make install
Thats it! you can now start pound with your configuration files.