วันนี้ผมมีโจทย์โดยลูกค้าให้มา จะทำ Load Balancinf กับ nginx ใน linux  ดูเหมือนจะยากในครับ แต่ข้อมูลใน internet มีให้ทดลองทำเพียบ ผมเอาเว็บโน้นเว็บนี้มารวมกันและก็ทำ จะอธิบายให้เข้าใจ ด้วยการสรุปของผม ก่อนอื่นคุณต้องรีโมทเข้า server ใน ฐานนะ root ก่อนนะครับ ใช้ ssh หรือ putty ตามถนัดได้เลย

ขั้นแรกถ้าเครื่องคุณยังไม่มี Nginx ก็ต้อง ติดตั้งก่อนคำสั่งประมาทนี้

Using Apt-get:

$ sudo apt-get install nginx

Using Yum:

$ sudo yum install nginx

Using DNF:

$ sudo dnf install nginx

 

ขั้นตอนที่ 2 ติดตั้ง VirtualHost with Upstream ด้วยการสร้าง ไฟล์ /etc/nginx/conf.d/www.example.com.conf และใส่ config ตามนี้ 

upstream remote_servers {
server remote1.example.com;
server remote2.example.com;
server remote3.example.com;
}

server {
listen 80;
server_name example.com www.example.com;
location / {
proxy_pass http://remote_servers;
}
}

ขั้นตอนที่สามคือการปรับแต่ง เพื่อให้ Nginx มีประสิทธิภาพที่สุด ผมเอาตัวอย่างมาให้ดูกันนะครับ

Weight

upstream remote_servers  {
   server remote1.example.com weight=1;
   server remote2.example.com weight=2;
   server remote3.example.com weight=4;
}

IP Hash

upstream remote_servers {
   ip_hash;
   server   remote1.example.com;
   server   remote2.example.com;
   server   remote3.example.com  down;
 }

 

ขั้นตอนสุดท้าย สั่ง restart  Nginx ด้วยคำสั่งพื้นฐานกันเลย

$ sudo systemctl restart nginx.service

ลองทำกันดูนะครับ

Facebook Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here