ဒီနေ့ ရုံးမသွားရတာနဲ့ လုပ်မယ် လုပ်မယ်နဲ့ မလုပ်ဖြစ်တဲ့ Nginx ကို စမ်းဖြစ်တယ်။ Nginx ဆိုတာကတော့ Light Weight HTTP Server ပေါ့။ Apache လို မျိုး HTTP server လို့ ဆိုရမှာပေါ့။ Nginx ကို Engine X လို့ အသံထွက်တယ်။ Django ကို ကိုယ့် server မှာ run မယ်ဆိုပြီး ကြည့်လိုက်တော့ Apache နဲ့ အဆင်ပြေတဲ့ mod_python နဲ့ စမ်းပေမယ့် စိတ်တိုင်းမကျဘူး။ နှေးပြီးတော့ တစ်ခါတစ်ခါ ထထ ကြောင်တတ်တယ်။ PHP နဲ့ အတူ ယှဉ်ပြီး run ရတာ အဆင်မပြေဘူး။ ဒါနဲ့ gooling လုပ်လိုက်တော့ Nginx ကို သွားတွေ့တယ်။ Django ကို တော်တော်များများက apache ထက် Nginx ကို recommend လုပ်ကြတယ်။ ROR သမားတွေလည်း Nginx ကို အသုံးပြုတာ တွေလည်း တွေ့လိုက်ရတယ်။ ဒီတော့ PHP နဲ့ ကော ရလား ဆိုတော့ ရတာပေါ့ဗျာ။

Why !

Apache ထက် Nginx ကို ဘာကြောင့် သုံးသင့်လဲဆိုတာကို performance ယှဉ်ပြထားတာ တွေ့ပြီး သဘောကျသွားတယ်။ Website ကတော့ 2008 တုန်းက ဆိုတော့ နည်းနည်းတော့ ခေတ်နောက်ကျနေပြီ။ အခု Nginx က 1.0 ထိ ရောက်လာပြီ။ April 2011 မှာ website တွေရဲ့ 6.25% အသုံးပြုထားတာကို တွေ့ရတယ်။ အဲဒီ Nginx ကို သုံးစွဲတဲ့အထဲမှာ wordpress.com လည်း ပါတယ်။ အခြား နာမည်ကြီး site တွေ ထပ်ပြောရရင်တော့ wikihow နဲ့ hulu ပါ ပါတယ်။ နောက်ပိုင်း startup တော်တော်များများဟာလည်း Nginx ကို ပြောင်းပြီး အသုံးပြုလာကြတယ်။

For Cloud

Nginx ကို သုံးစွဲမှုဟာ မြန်မြန်ဆန်ဆန် တိုးတက်လာတယ်။ Apache နဲ့ ယှဉ်ပြိုင်နိုင်လောက်တဲ့ အထိ မဟုတ်ပေမယ့် နောက်ပိုင်း ပြောင်းလဲ သုံးစွဲသင့်တဲ့ အကြောင်းတွေကို စဉ်းစားမိတယ်။ တကယ်လို့ ကျွန်တော်တို့ cloud server ကို အသုံးပြုပြီဆိုရင် CPU usages ကို သက်သက်သာသာ သုံးစွဲ နိုင်ဖို့ လိုတယ်။ Bandwidth ကို သက်သက်သာသာ ဖြစ်တဲ့ server ကို ရွေးချယ်ရမယ်။ Bandwidth In/Out က Cloud Server ရဲ့ လစဉ် ကုန်ကျမှုမှာ အရေးပါတယ်။ နောက်တချက်က Real Time မဟုတ်ရင်တောင် အမြန်ဆုံး respond ပြန်နိုင်ဖို့ လိုလာပြီ။ ဒီတော့ Cloud Server ကို အသုံးပြုမယ်ဆိုရင်တော့ Nginx ဟာ အကောင်းဆုံး မဟုတ်ရင်တောင် ရွေးချယ်သင့်တဲ့ HTTP server ဆို မမှားဘူး။ ၁ လ ခြင်းဆီမှာ $2 သက်သာသွားခဲ့ရင် ၁ နှစ်စာ မှာ $24 လောက် သက်သာသွားနိုင်တယ်။

Problem

Nginx ဟာ Apache လောက်တော့ community အား မကောင်းသေးဘူးဆိုတာ အမှန်ပဲ။ လက်ရှိ အသုံးပြုထားတဲ့ .htaccess တွေကို ပြန်ပြင်ရမယ်။ .htaccess ကနေ nginx ကို ပြောင်းတဲ့ converter တွေက ရှိပြီးသားပါ။ .htaccess က folder တိုင်းရဲ့ အောက်မှာ လွယ်လင့် တကူ ထည့်နိုင်ပေမယ့် nginx မှာတော့ config file ထဲမှာ သီးသန့် သွားရေးထည့်နေရတယ်။ ပြီးရင် သေချာအောင် nginx ကို restart လုပ်ပေးရသေးတယ်။ နောက်ထပ်ပြဿနာက php အတွက် php-fpm ကို အသုံးပြုရတယ်။ လက်ရှိ php5 ကို ubuntu ကနေ တိုက်ရိုက်သွင်းလို့ မရဘူး။ php source ကို download ချပြီးတော့ ကိုယ်တိုင် compile ပြန်လုပ်ရတယ်။ compile လုပ်ရတာ မခက်ပေမယ့် အချိန်ကတော့ ပေးရတယ်။ တစ်ခါတစ်လေ library တစ်ခုလောက် လိုသွားရင် ဘာမှန်းမသိတဲ့ error တွေနဲက ကြုံကောင်း ကြုံနိုင်တယ်။

So What

PHP တစ်ခုတည်းသာ run မယ်ဆိုရင်တော့ apache က အသင့်တော်ဆုံးပဲ။ Django နဲ့ PHP ကို server တစ်ခုတည်းမှာ run မယ်ဆိုရင်တော့ Nginx ကို စဉ်းစားသင့်တယ်။ နောက်ပြီးတော့ Cloud Server ကို ပြောင်းသုံးမယ်ဆိုရင်လည်း Nginx ကို စဉ်းစားသင့်တဲ့ အထဲမှာ ပါတယ်။ ခေါင်းမစားချင်ပဲ မြန်မြန်ဆန်ဆန် setup လုပ်ချင်တယ်ဆိုရင်တော့ apache က အကောင်းဆုံးပဲ။ MAMP မှာ PHP run ပြီးတော့ nginx နဲ့ Django လေ့လာဖို့ စဉ်းစားနေတယ်။ အခုတော့ Mac မှာ Nginx တော့ သွင်းပြီးပြီ။ Django သွင်းဖို့ပဲ ကျန်တော့တယ်။

One response to “Nginx (engine X)”

  1. […] အေကြာင်းသိခ်င်ရင်တော့ ကိုစေတန် ဘေလာ့မွာ ဖတ္လိုက္ပါ။ အေသးစိတ္ကို […]

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.