Setting up NGINX for HTTP load balancing.
Nginx server is running as below.
nginx-server : nginx.server.com //nginx
Below are the 3 server which run a web application which needs to be load balanced.
Server1 : node1.application.com //web_server
Server2 : node2.application.com //web_server
Server3 : node3.application.com //web_server
Install NGINX on RHEL/Centos6
Step 1 : Create a Repo. in [vim /etc/yum.repos.d/nginx.repo]
CENTOS6
[nginx]
name=nginx repo
gpgcheck=0
enabled=1
RHEL:
[nginx]
name=nginx repo
gpgcheck=0
enabled=1
Step 2 : Installation
[ahmed@ngnix ~]$ sudo yum install nginx
Step 3 : Configuration: sudo vim /etc/nginx/nginx.conf
#------BEGIN CONFIG------------
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
#include /etc/nginx/conf.d/*.conf;
upstream myappredirect
{
}
server
{
listen 80;
location / {
proxy_pass http://myappredirect;
}
}
}
#------END CONFIG-----------
Now we are ready for testing.
[ahmed@ngnix ~]$ sudo service nginx start
Now we can go the browser and hit the IP address of nginx server.
As per the current setup (Default) it will do a Round-Robin to send request to the servers.
"All inbound request to NGINX[nginx.server.com]" -> NGINX will load_balance and distribute traffic to Servers.
-->[NGINX]---->[HOST1]
\-->[HOST2]
\-->[HOST3]
Useful Links:
Comments
Post a Comment