Blogs with tag [Nginx]

การใช้ Nginx กับ Django

(กำลัง update อยู่ เข้ามา refresh เรื่อยๆ นะ)

Nginx อ่านว่า เอ็นจิ้นเอ็กซ์ เรามักเห็นเว็บไซต์ดังๆ เอามาใช้เป็น Reverse Proxy ซึ่งความจริงแล้ว Nginx ก็ยังทำหน้าที่เป็น Web Server ได้ดีอีกด้วย โดยเฉพาะในการบริการ static content ทั้งหลาย เช่น รูปภาพ หรือ ไฟล์วีดีโอใหญ่ๆ

Nginx จัดว่าเป็น Web Server จำพวกเดียวกับ Lighttpd ซึ่งทำงานในแบบ non-blocking IO เหมือนกัน (ต่างจาก Apache ที่ทำงานในแบบ child process และ multi-thread) การทำงานแบบ non-blocking IO นี้ทำให้มี memory footprint น้อยมาก (และมักจะคงที่ ไม่เพิ่มขี้นจากจำนวน request ที่มากขึ้น) มีการตอบสนอง request ที่เร็ว รวมถึงรองรับปริมาณ connection ได้มากต่อช่วงเวลา ซึ่งเหมาะสำหรับการบริการ static file และการทำ reverse proxy

แม้ว่าในปัจจุบันเราจะเคยชินกับการใช้ Apache กับ module จำพวก mod_* ต่างๆ เพื่อใช้แสดงผล dynamic content เช่น mod_php, mod_perl หรือ mod_python ซึ่งเป็นการผนวกตัวแปลภาษา php, perl และ python เข้าเป็นส่วนหนึ่งของ Apache ซึ่งตามทฤษฎีแล้ว จะทำให้ความเร็วในการทำงานสูงสุด แต่เราต้องไม่ลืมว่าการทำเช่นนั้นเป็นการทำให้ memory footprint ของ Apache ใหญ่ขึ้น และหากเกิดความผิดพลาดอะไรขึ้นกับการทำงานของ mod เหล่านั้น ก็จะทำให้ Apache ทั้งก้อนตายไปด้วย

Django เมื่อใช้ร่วมกับ flup (ต้องลงในระบบโดย admin) จะสามารถ run ใน mode FastCGI ได้ โดยการใช้ FastCGI ก็คือการที่ให้ Django ทำงานอยู่ใน thread ของมันเอง เพียงแต่เปิด interface ออกมายัง port หรือทาง unix socket ที่กำหนดเองได้ ดังนั้นจึงสามารถ run Django ด้วย user account ที่ต่างจากตัว web server ได้ และ user จะสามารถ start/stop Django ได้เองตลอดเวลา (ตราบเท่าที่ user คนนั้นยังมีสิทธิ login เข้ามาในระบบ)

ดูตัวอย่างการ run Django แบบ FastCGI ได้ที่นี่

0 comment(s) 17/9/2008 1:05
CWT
:::All Blogs:::
My Laptop on Fedora With Heavily Customization
Moblin 2.1 กับภาษาไทย และ wireless
STOU Graduate
Google Wave Workshop - Day 1
ภาพ HDR
หน้าต่างคอนโด
ทดสอบ libthai บน Mac OS X
วันเกิดแป๋ม
สามัญสำนึกใช่ว่าจะถูกเสมอไป
โปรดระวังการใช้ emoticon ใน pantip.com
ทดสอบ javascript ของ WebKit เทียบกับ Firefox
diff list by set part 2
diff list by set
ICT Block Web
The Cathedral And The Bazaar
สวนหลวง ร.9
โฆษณาบ่งบอกความใส่ใจ
run Django ใน mode prefork นี่น่ากลัวแฮะ
อักษรพิเศษใน Title
Thai locale in Django-SVN
เบื่อและเซ็ง
Code Sprint VS. Dev Fest
My Real Nickname and The Story of My Alias Name
My Books
หมอนรองกระดูกทับเส้นประสาท
python-markdown2
การใช้ Nginx กับ Django
ลองเล่น Django's Comments Framework
Bashell Upgraded
ช่วงนี้ซื้อแต่ HP
Work@NY - Day1
Blog เริ่มใช้งานได้แล้ว
Penguin and Dolphin
Use Squid proxy on Windows Server
Test Markdown
A Django project.
Valid XHTML 1.0 Transitio
nal