การ deployment Django บน FreeBSD with Apache22 & mod_wsgi


Django พัฒนาง่าย แต่การ Deployment นั้นแสนยากเย็น

หลังจากที่ได้ทดลอง Deployment Django บน Ubuntu แล้วยุ่งยากมากต้องใช้หลากหลายวิธี หลากหลายเครื่องมือ แต่ก็ยังไม่สำเร็จ วันนี้ได้ทดลอง Deployment บน Server ของ FreeBSD แต่ก็ยุ่งยากเหมือนกัน และสุดท้ายวันนี้ก็สำเร็จจนได้ เมื่อทำสำเร็จแล้ว จึงขอบันทึกขั้นตอนการทำงาน เพื่อในครั้งต่อไปจะได้ไม่ต้องเสียเวลาค้นคว้าจากของคนอื่นอีก

 

ขั้นตอนมีดังนี้

  • ติดตั้ง apache22

# cd /usr/ports/www/apache22

# make config

จะมีหน้าต่างให้เช็คที่ 'THREADS ....' Tab > OK

# make

# make install

  • ติดตั้ง mod_wsgi

# cd /usr/ports/mod_wsgi3

# make

# make install

  • ติดตั้ง MySQL

# cd /usr/ports/databases/mysql50-server

# make install clean

  • ติดตั้ง Python26

#cd /usr/ports/lang/python26

#make install clean

  • ติดตั้ง Django

easy_install pip

pip install django

  • ถ้าหากติดตั้ง pip ไม่ผ่าน เพราะว่า Python อาจมีปัญหา การติดตั้งอีกวิธีหนึ่งคือ

#cd /usr/ports/devel/py-pip

#make

#make install

#pip install django

  • การทดสอบว่า python และ django ทำงานหรือไม่

#python

>>> import django

>>> print django.VERSION

  • ขั้นตอนการทดสอบการ Deployment จริง ๆ จะอยู่ตั้งแต่นี้เป็นต้นไป

mkdir /usr/home/myusername/www/wsgitest

  • สร้างไฟล์ขึ้นมาหนึ่งไฟล์ ชื่อ test.wsgi เก็บไว้ในโฟลเดอร์ /usr/home/myusername/www/wsgitest มีคำสั่งดังนี้
def application(environ, start_response):
    status = '200 OK'
    output = 'Hello World!'

    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]
  • แก้ไขไฟล์ httpd.conf ให้เพิ่มคำสั่งบรรทัดท้ายสุด
WSGIScriptAlias /myapp /usr/home/myusername/www/wsgitest/test.wsgi


  • ทดสอบ(ขอค้างไว้ก่อน ครับ)

    WYSIWYG ใช้ยากมาก


อ้างอิง

http://code.google.com/p/modwsgi/wiki/InstallationOnFreeBSD

คำสำคัญ (Tags): #Django Deployment with mod_wsgi
หมายเลขบันทึก: 459141เขียนเมื่อ 7 กันยายน 2011 14:58 น. ()แก้ไขเมื่อ 23 มิถุนายน 2012 07:53 น. ()สัญญาอนุญาต: ครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกันจำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (0)

ไม่มีความเห็น

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท