PEN: HTTP Load Balancer Rumi, August 15, 2015August 15, 2015 This is performed on a CentOS 6.x 64 bit machine Install pen which is lightweight simple Load Balancing software. It is TCP protocol based, so it’s possible to balance not only HTTP but SMTP, FTP, LDAP and so on. This example is based on the environment like follows. Configure Pen to load balance to Backend#1, Backend#2, Backend#3 web servers. # install from EPEL [root@dlp ~]# yum --enablerepo=epel -y install pen Configure PEN: [root@dlp ~]# vi /etc/pen.conf # create new # log file LOGFILE=/var/log/pen.log # statics report file WEBFILE=/var/www/pen/webstats.html # control port CONTROL=127.0.0.1:10080 # max connections MAX_CONNECTIONS=256 # sebd X-Forwarded-For header XFORWARDEDFOR=true # Round-Robin mode ROUNDROBIN=true # listenning port PORT=80 # number of backends BACKEND=3 # define backend servers SERVER1=10.0.0.51:80 SERVER2=10.0.0.52:80 SERVER2=10.0.0.53:80 Create an init script [root@dlp ~]# vi /etc/rc.d/init.d/pend #!/bin/bash # pend: Start/Stop Pend # chkconfig: - 90 10 # description: Pen is a light weight simple load balancer. # pidfile: /var/run/pen.pid . /etc/rc.d/init.d/functions . /etc/pen.conf LOCKFILE="/var/lock/subsys/pen" PID=/var/run/pen.pid PROG=/usr/bin/pen PROGNAME=Pend RETVAL=0 start() { SERVER=`grep "^SERVER" /etc/pen.conf | cut -d= -f2` [ $XFORWARDEDFOR = "true" ] && SERVER="-H $SERVER" [ $ROUNDROBIN = "true" ] && SERVER="-r $SERVER" [ $SSLCERTS ] && SERVER="-E $SSLCERTS $SERVER" echo -n $"Starting $PROGNAME: " daemon $PROG -w $WEBFILE -x $MAX_CONNECTIONS -p $PID -l $LOGFILE -C $CONTROL -S $BACKEND $PORT $SERVER RETVAL=$? echo [ $RETVAL -eq 0 ] && touch $LOCKFILE return $RETVAL } stop() { echo -n $"Stopping $PROGNAME: " killproc $PROG RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f $PID $LOCKFILE return $RETVAL } case "$1" in start) start ;; stop) stop ;; status) status -p "$PID" -l $PROG $PROGNAME ;; restart) stop start ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 1 esac exit $? [root@dlp ~]# chmod 755 /etc/rc.d/init.d/pend [root@dlp ~]# /etc/rc.d/init.d/pend start Starting Pend: [ OK ] [root@dlp ~]# chkconfig --add pend [root@dlp ~]# chkconfig pend on Configure httpd on backend servers to record logs of X-Forwarded-For. [root@www ~]# vi /etc/httpd/conf/httpd.conf # line 497: change LogFormat "\"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined [root@www ~]# /etc/rc.d/init.d/httpd restart Related Administrations Configurations (Linux) CentOSLoadBalancerPen
Linux Monitoring using Grafana InfluxDB and Telegraf on Debian 10 June 19, 2020 The basic installation of Grafana InfluxDB and Telegraf is described in my other post here- Install Grafna, InfluxDB, Telegraf for Jitsi Video Meet Monitoring on Debian 10 All is needed is to create a telegraf configuration file: nano /etc/telegraf.d/dashboard.conf # Global tags can be specified here in key=”value” format. [global_tags] #… Read More
Upgrade Debian 9 to Debian 10 July 19, 2021 Update ALL existing installed packages Before you upgrade your Debian version to 10, you must apply all security patches and pending upgrades to Debian 9 itself Hence, Type the following apt command or apt-get command: sudo apt update sudo apt upgrade sudo apt full-upgrade sudo apt –purge autoremove OR sudo… Read More
Disabling graphical (GUI) login in Debian wheezy/7 November 17, 2020November 17, 2020 If you’d like to disable webgui mode of Debian wheey, run the commands in the terminal as root- update-rc.d -f gdm remove update-rc.d -f gdm3 remove update-rc.d -f wdm remove Related Read More