<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>kowito.com &#187; WSGI</title>
	<atom:link href="http://www.kowito.com/tag/wsgi/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kowito.com</link>
	<description>Try not to become a man of success but a man of value.</description>
	<lastBuildDate>Thu, 15 Dec 2011 04:43:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>ติดตั้ง Django กันดีกว่า</title>
		<link>http://www.kowito.com/2009/05/27/%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-django-%e0%b8%81%e0%b8%b1%e0%b8%99%e0%b8%94%e0%b8%b5%e0%b8%81%e0%b8%a7%e0%b9%88%e0%b8%b2/</link>
		<comments>http://www.kowito.com/2009/05/27/%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-django-%e0%b8%81%e0%b8%b1%e0%b8%99%e0%b8%94%e0%b8%b5%e0%b8%81%e0%b8%a7%e0%b9%88%e0%b8%b2/#comments</comments>
		<pubDate>Wed, 27 May 2009 16:24:55 +0000</pubDate>
		<dc:creator>kowito</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[mod_python]]></category>
		<category><![CDATA[WSGI]]></category>

		<guid isPermaLink="false">http://kowito.wordpress.com/2009/05/27/%e0%b8%95%e0%b8%b4%e0%b9%89%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-django-%e0%b8%81%e0%b8%b1%e0%b8%99%e0%b8%94%e0%b8%b5%e0%b8%81%e0%b8%a7%e0%b9%88%e0%b8%b2/</guid>
		<description><![CDATA[เพราะคนดีย่อมแก้ไข คนจัญไร นั้นแก้ตัว ผมจึงสารภาพตามตรงว่าหลังจากบาร์แคมป์ บางกอก ครั้งที่ 3 แล้ว ความขี้เกียจได้จับตัวกันเป็นก้อน ไม่มีเหตุผลอื่นใดเลย เรื่องที่ติดว่าจะบล็อกเรื่องการ Deploy Django นั้นจึงยังไม่ได้ขึ้นด้วยประการฉะนี้ เกริ่นไปให้มากความ เข้าเรื่องเลยดีกว่า ก่อนอื่นเลยผมขอแยกส่วนต่างๆของโปรเจ็คออกเป็นส่วนๆ เพื่อง่ายต่อการอัพเดต Django (เอาไว้เก็บ Source code ของ django) Media (images, css, javascript) Logs ( ถ้าอยากมี logs ก็เอามันมาไว้ข้างนอกเสีย อย่าเอาไปรวมกับ source code) User-upload ( อะไรที่ user upload ขึ้นมา พึงระวัง) Project source code ( เอาไว้เก็บไฟล์โปรเจ็คของเรา มีอะไรก็อัพเดตมันตรงนี้แหละ) Configuration ( ชื่อก็บอกว่าเก็บคอนฟิก อันนี้ถ้าทำงานหลายๆ คนก็แยกเป็นโฟลเดอร์ย่อยๆ ของใครของมัน [...]]]></description>
			<content:encoded><![CDATA[<div class="AWD_like_button "><fb:like href="http://www.kowito.com/2009/05/27/%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-django-%e0%b8%81%e0%b8%b1%e0%b8%99%e0%b8%94%e0%b8%b5%e0%b8%81%e0%b8%a7%e0%b9%88%e0%b8%b2/" send="true" width="" colorscheme="light" layout=standard show_faces="true" font="tahoma" action="like"></fb:like></div><p>เพราะคนดีย่อมแก้ไข คนจัญไร นั้นแก้ตัว ผมจึงสารภาพตามตรงว่าหลังจากบาร์แคมป์ บางกอก ครั้งที่ 3 แล้ว ความขี้เกียจได้จับตัวกันเป็นก้อน ไม่มีเหตุผลอื่นใดเลย เรื่องที่ติดว่าจะบล็อกเรื่องการ Deploy Django นั้นจึงยังไม่ได้ขึ้นด้วยประการฉะนี้</p>
<p>เกริ่นไปให้มากความ เข้าเรื่องเลยดีกว่า ก่อนอื่นเลยผมขอแยกส่วนต่างๆของโปรเจ็คออกเป็นส่วนๆ เพื่อง่ายต่อการอัพเดต</p>
<ul>
<li>Django (เอาไว้เก็บ Source code ของ django)</li>
<li>Media (images, css, javascript)</li>
<li>Logs ( ถ้าอยากมี logs ก็เอามันมาไว้ข้างนอกเสีย อย่าเอาไปรวมกับ source code)</li>
<li>User-upload ( อะไรที่ user upload ขึ้นมา พึงระวัง)</li>
<li>Project source code ( เอาไว้เก็บไฟล์โปรเจ็คของเรา มีอะไรก็อัพเดตมันตรงนี้แหละ)</li>
<li>Configuration ( ชื่อก็บอกว่าเก็บคอนฟิก อันนี้ถ้าทำงานหลายๆ คนก็แยกเป็นโฟลเดอร์ย่อยๆ ของใครของมัน หรือถ้าทำคนเดียวก็เป็นโฟลเดอร์ย่อยอีกนั่นแหละ เผื่อมีคนรู้ใจเข้ามาทำด้วย จะได้ขยับขยายได้ง่าย)</li>
<li>Extension ect…(extension, libary, python packages อย่างผมผมก็มี sorl, django-threaded-<em>multihos</em>, ReportLab)</li>
</ul>
<blockquote><p>ง่ายต่อการอัพเดตยังไง เมื่อต้องการอัพเดต django หรือ extension อื่นๆ เราสามารถที่จะเปลี่ยนเฉพาะส่วนนั้นๆ โดยที่ไม่กระทบกับโปรเจคอื่นๆของเราได้ อย่างเช่นใน server มีอยู่ห้าโปรเจค ที่ใช้งาน Django เหมือนกัน แต่ต่างกันที่เวอร์ชั่น เราสามารถอัพเดต Django ในโปรเจคของเรา โดยที่ไม่ทำให้เกิการเปลี่ยนแปลงในโปรเจ็คอื่นๆ</p></blockquote>
<blockquote><p>สิ่งที่ต้องระวังเป็นพิเศษคือ ห้ามเก็บอะไรก็ตาม ที่ User upload ขึ้นมาไว้รวมกับ Source code ของคุณอย่างเด็ดขาด การทำอย่างนั้นไม่ต่างอะไรกับเกิดเปิดประตูบ้านแล้วบอกว่า “เฮ้ย hack กูที”</p></blockquote>
<p>ขั้นตอนต่อไป สร้างไฟล์  vhost ของ Apache (วั้นนี้จะใช้ mod_python WSGI ก่อน เพราะว่าไม่รู้ว่า FastCGI ทำยังไง เดี๋ยววันหลังลอง FastCGI แล้วจะมาบอก)</p>
<p>แต่ตอนนี้ บอลกำลังจะมา ต่อพรุ่งนี้แล้วกันนะครับ <img src='http://www.kowito.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.kowito.com/2009/05/27/%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-django-%e0%b8%81%e0%b8%b1%e0%b8%99%e0%b8%94%e0%b8%b5%e0%b8%81%e0%b8%a7%e0%b9%88%e0%b8%b2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

