Nginx là webserver với chức năng Load Balancing và Proxy server cực tốt. Sau đây xin hướng dẫn các bạn thiết lập cân bằng tải máy chủ web với 3 nút:
192.168.1.100 (chính)
192.168.1.109 (phụ)
192.168.1.106 (phụ)
Đầu tiên cài đặt nginx trên cả 3 server:
apt-get install nginx
Tập tin nginx.conf trên cả 3 server:
user nginx;
worker_processes 1;
error_log /var/log/nginx_error.log crit;
worker_rlimit_nofile 8192;
events {
worker_connections 1024; # you might need to increase this setting for busy servers
use epoll; # Linux kernels 2.6.x change to epoll
}
http {
server_names_hash_max_size 2048;
server_names_hash_bucket_size 512;
server_tokens off;
include mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 10;
# Gzip on
gzip on;
gzip_min_length 1100;
gzip_buffers 4 32k;
gzip_types text/plain application/x-javascript text/xml text/css;
ignore_invalid_headers on;
client_max_body_size 8m;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
connection_pool_size 256;
client_header_buffer_size 4k;
large_client_header_buffers 4 64k;
request_pool_size 4k;
output_buffers 4 32k;
postpone_output 1460;
# Cache most accessed static files
open_file_cache max=10000 inactive=10m;
open_file_cache_valid 2m;
open_file_cache_min_uses 1;
open_file_cache_errors on;
# Include each virtual host
include "/etc/nginx/conf.d/*.conf";
}
Virtual hosts
/etc/nginx/sites-available/default
Trên hai server 2 (192.168.1.109) and 3 (192.168.1.106):
server {
access_log off;
error_log /var/log/yoursite.com-error.log;
listen 80;
server_name yoursite.com www.yoursite.com;
location ~* .(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|wml|swf)$ {
root /var/www/yoursite.com;
expires max;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
location / {
root /var/www/yoursite.com;
index index.php index.html index.htm;
}
}
Hoặc thêm những gì bạn muốn. Như đoạn code trên là tập tin mẫu, bạn phải chỉnh sửa lại đúng với cấu hình của bạn.
Trên server (192.168.1.100):
nano etc/nginx/sites-available/loadbalance
Dán đoạn code dưới đây:
upstream balancer {
server 192.168.1.100:80 ;
server 192.168.1.106:80 ;
}
server {
listen 192.168.1.100:80;
server_name yoursite.com;
error_log /var/log/yoursite.com-error.log;
location / {
proxy_pass http://balancer;
}
}
Cần chỉnh sửa lại địa chỉ server của bạn.
Sau đó khởi động lại Nginx:
service nginx restart
DNS records tên miền của bạn
Bạn trỏ Record A về địa chỉ server chính 192.168.1.100.





















