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
Install OnlyOffice Document Server on Ubuntu 16 November 21, 2020 Step 1: Install ONLYOFFICE Document Server Please note that OnlyOffice document server requires at least 2GB of RAM. An additional 2GB of swap space is recommended. OnlyOffice document server depends on PostgreSQL, Node.js, Redis Server, RabbitMQ server and Nginx. The following steps are tested on a Ubuntu 16.04 server but should… Read More
Increase file upload size limit in PHP-Nginx June 9, 2014 To change max file upload size to 100MB Edit… vim /etc/php5/fpm/php.ini Set… upload_max_filesize = 100M post_max_size = 100M Related Read More
Make shinobi start up after reboot December 16, 2021 pm2 start plugins/motion/shinobi-motion.js pm2 start camera.js to start up automatically after reboot Related Read More