လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> High-Availability Load ကိုရရှိရန်အတွက် Docker Compose နှင့် Nginx ကိုအသုံးပြုခြင်း PHP applications များကို Balancing လုပ်ခြင်း

High-Availability Load ကိုရရှိရန်အတွက် Docker Compose နှင့် Nginx ကိုအသုံးပြုခြင်း PHP applications များကို Balancing လုပ်ခြင်း

M66 2025-08-04

PHP applications များကို Docyer Compose နှင့် Nginx မှတဆင့်မြင့်မားသောရရှိနိုင်မှုများကိုဖြန့်ကျက်ခြင်း

ခေတ်သစ်ဝက်ဘ်လျှောက်လွှာဖွံ့ဖြိုးတိုးတက်မှုတွင်မြင့်မားသောရရှိမှုမြင့်မားမှုသည်အဓိကလိုအပ်ချက်တစ်ခုဖြစ်သည်။ Docker Compose နှင့် Nginx ဖြင့် PHP applications များကိုအလွယ်တကူရရှိနိုင်သော PHP applications များကိုအလွယ်တကူရရှိနိုင်ရန်အလွယ်တကူရရှိနိုင်ရန်အတွက် application များကိုတည်ငြိမ်ပြီးမအောင်မြင်မှုများကိုတွေ့ရသည့်အခါတွင်ပိုမိုတည်ငြိမ်ပြီးရနိုင်သည်။

ဦး ဆောင်သည့်ပလက်ဖောင်းတစ်ခုအနေဖြင့်သင်္ဘောသားများသည် application များနှင့်၎င်းတို့၏မှီခိုမှုများကိုလွတ်လပ်သောကွန်တိန်နာများတွင် encapsulate လုပ်နိုင်သည်။ Docy Compose သည်ကွန်တိန်နာပေါင်းစုံပလီကေးရှင်းများ၏အဓိပ္ပါယ်နှင့်စီမံခန့်ခွဲမှုဖြစ်စဉ်ကိုရိုးရှင်းလွယ်ကူစေသည်။

Nginx သည်စွမ်းဆောင်ရည်မြင့်သော web server တစ်ခုတည်းသာမဟုတ်ဘဲကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသော proxy server ဖြစ်သည်။ ၎င်းသည်အကန့်အသတ်ရှိသောဆာဗာများစွာသို့တောင်းဆိုသောအသွားအလာကိုဖြန့်ဝေနိုင်သည်။

Define Docker Compose service

ပထမ ဦး စွာလျှောက်လွှာများနှင့် Nginx ကွန်တိန်နာမျိုးစုံကိုသတ်မှတ်ရန်သင် decker-composebosyml ဖိုင်တစ်ခုကိုဖန်တီးရန်လိုအပ်သည်။ ဥပမာ configuration ကိုအောက်ပါအတိုင်းဖြစ်သည် -

 ဗားရှင်း: '3'
0 န်ဆောင်မှုများ
  App1:
    တည်ဆောက်:
      အခြေအနေ: ။
      dockerfile: dockerfile
    Restart: အမြဲတမ်း
  App2:
    တည်ဆောက်:
      အခြေအနေ: ။
      dockerfile: dockerfile
    Restart: အမြဲတမ်း
  Nginx:
    Image: Nginx
    Ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    Restart: အမြဲတမ်း

ဤပြင်ဆင်မှုတွင် App1 နှင့် App2 သည် PHP application container နှစ်ခုဖြစ်ပြီး PHP လျှောက်လွှာကွန်တိန်နာနှစ်ခုဖြစ်သည်။ Nginx ကွန်တိန်နာသည်အသွားအလာကိုလက်ခံခြင်းနှင့်မျှတမှုကိုရရှိရန်တာဝန်ရှိသည်။

Nginx ဝန်သည် Balancing configuration ကို

Nginx ကွန်တိန်နာသို့ nginx.conf configuration file တစ်ခုကိုဖန်တီးပြီးတပ်ဆင်ပါ။ အဆိုပါ configuration ဥပမာအောက်ပါအတိုင်းဖြစ်သည် -

 http {
  အထက်ပြန် {{
    ဆာဗာ App1: 8080;
    ဆာဗာ App2: 8080;
  }

  ဆာဗာ {
    နားထောင် 80 နားထောင်ပါ။

    တည်နေရာ / {
      proxy_pass http: // backend;
      proxy_set_header အိမ်ရှင်,
      Proxy_set_header X-Real-IP $ remote_addr;
    }
  }
}

ဤပြင်ဆင်မှုသည် application server address နှစ်ခုပါ 0 င်သောအထက်ပိုင်း backend ဟုသတ်မှတ်သည်။ Nginx သည်တောင်းဆိုမှုကိုလက်ခံရရှိပြီးနောက် PHP application container နှစ်ခုကို 0 န်ဆောင်မှုနည်းစေရန်အတွက် traffic ကိုခွဲဝေချထားသည်။

PHP လျှောက်လွှာကွန်တိန်နာပုံရိပ်ကိုတည်ဆောက်ပါ

အမှန်တကယ်လိုအပ်ချက်များနှင့်အညီဆိုက်ဟောင်ဖိတ်တစ်ခုရေးရန်ဥပမာ - အကြောင်းအရာသည်အောက်ပါအတိုင်းဖြစ်သည် -

 PHP မှ: 7.4.15-FPM

Workdir / var / www / html

ကူးယူပါ။ ။

Chmod -R 755 သိုလှောင်မှုကို run ပါ

CMD ["Php-FPM"]]

ဤ dockerfile သည်တရားဝင် PHP Image ကိုအခြေခံသည်, အလုပ်လုပ်လမ်းညွှန်ကိုသတ်မှတ်ခြင်း, လျှောက်လွှာကုဒ်နံပါတ်ကိုကူးယူပြီး directory permissions များကို Configure လုပ်ပြီး directory permissions များကို configure လုပ်ပြီးနောက်ဆုံးတွင် PHP-FPM ဝန်ဆောင်မှုကိုစတင်သည်။

မြင့်မားသောရရှိနိုင် PHP လျှောက်လွှာကိုဖွင့်ပါ

Configuration ပြီးဆုံးပြီးနောက်ကွန်တိန်နာအားလုံးကိုအောက်ပါ command ဖြင့်စတင်ပါ။

 -D-compose-compose

ဤ command သည်နောက်ခံတွင်သတ်မှတ်ထားသောကွန်တိန်နာမျိုးစုံကိုနောက်ကွယ်မှ စတင်. PHP applications များကို Nginx မှရရှိနိုင်သည့်အောင်မြင်မှုရရှိရန်အတွက် Nginx မှတဆင့်မျှတမှုရှိစေမည်။

အကျဉ်းချုပ်

Docker Compose နှင့် Nginx မှတဆင့် PHP application များအတွက်အလွန်အမင်းရရှိနိုင်သောဖြန့်ကျက်မှုပတ်ဝန်းကျင်ကိုအောင်မြင်စွာတည်ဆောက်ပြီးဖြစ်သည်။ ထည့်သွင်းထားသောဗိသုကာဗိသုကာဗိသုကာနှင့် Load Balancing ယန္တရားကိုသေချာစေရန်အပလီကေးရှင်းများသည်ပျက်ကွက်မှုနှင့်အထောက်အပံ့များကိုအထောက်အပံ့ပေးနိုင်သည်။

ပိုမိုရှုပ်ထွေးသောထုတ်လုပ်မှုပတ်ဝန်းကျင်ဗိသုကာကိုအကောင်အထည်ဖော်ရန်အမှန်တကယ်လိုအပ်သောအရသိရသည် configururations များကိုပိုမိုစိတ်ကြိုက်ပြုပြင်နိုင်သည့်အခြေခံဥပမာများကိုဤဆောင်းပါးတွင်ဖော်ပြထားသည်။

မကြာသေးမီ ဆောင်းပါးများ