Pound installation on redhat enterprise Linux 4 x86_64 Syed Atif Ali
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.3.2 PCRE-devel ( Highly recommended) Google perftools 0.8 ( Highly recommended ) I am performing this installation on an AMD Opteron dual core machine with 3 GB of memory 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 static inline _syscall6(void*, sys_mmap, void*, s, size_t, int, p, int, d,
To this static inline _syscall6(long int, sys_mmap, void*, s, l, size_t, int, p, f, int, int, d,
l, f, int,
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 ( assuming that pound 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. You can find sample configuration files in pound source . people have been using pound to load balance a lot of other application not just web servers.