<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Extreme Pattern: Apache in Slax</title>
    <link>http://blog.extremepattern.com/articles/2006/09/18/apache-in-slax</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>enjoy</description>
    <item>
      <title>Apache in Slax</title>
      <description>&lt;h3&gt;源起&lt;/h3&gt;


	&lt;p&gt;apache 調試需要不同參數，所以建立這個  mo 順便測看看不同編譯的效能差異。&lt;/p&gt;


	&lt;h3&gt; apache.mo&lt;/h3&gt;


	&lt;p&gt;老步驟。&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;cd /mnt/hda1&lt;/li&gt;
		&lt;li&gt;wget httpd-2.2.3.tar.bz2&lt;/li&gt;
		&lt;li&gt;tar jxvf httpd-2.2.3.tar.bz2&lt;/li&gt;
		&lt;li&gt;cd httpd-2.2.3&lt;/li&gt;
		&lt;li&gt;./configure&lt;/li&gt;
		&lt;li&gt;make&lt;/li&gt;
		&lt;li&gt;checkinstall&lt;/li&gt;
		&lt;li&gt;mv httpd-2.2.3-i386.tgz ../&lt;/li&gt;
		&lt;li&gt;cd ..&lt;/li&gt;
		&lt;li&gt;mkdir /mnt/hda1/work/apache&lt;/li&gt;
		&lt;li&gt;installpkg -root /mnt/hda1/work/apache httpd-2.2.3-i386.tgz&lt;/li&gt;
		&lt;li&gt;cd /mnt/hda1/work&lt;/li&gt;
		&lt;li&gt;dir2mo apache apache-2.2.3.mo&lt;/li&gt;
	&lt;/ol&gt;


	&lt;h3&gt;test apache-2.2.3.mo&lt;/h3&gt;


	&lt;ol&gt;
	&lt;li&gt;reboot first&lt;/li&gt;
		&lt;li&gt;uselivemod apache-2.2.3.mo&lt;/li&gt;
		&lt;li&gt;/usr/local/apache2/bin/apachectl -k start&lt;/li&gt;
		&lt;li&gt;netstat -at&lt;/li&gt;
	&lt;/ol&gt;


	&lt;p&gt;結果要看大一點的檔案會發現開不起來，看 access log 發現都是 &lt;span class="caps"&gt;HTTP STATUS 206&lt;/span&gt;，沒有資料傳出，google 發現這篇有提到這個 &lt;a href="http://www.hostingforum.ca/viewtopic.php?t=1701"&gt;sendfile syscall&lt;/a&gt; 的問題。同時查到 Unionfs 尚未支援 sendfile 的類似訊息。&lt;/p&gt;


	&lt;p&gt;根據建議，將 httpd.conf 做點修正，EnableSendfile 改 off 就可以跑起來，進一步參閱 &lt;a href="http://httpd.apache.org/docs/2.0/mod/core.html#enablesendfile"&gt;EnableSendfile Directive&lt;/a&gt; 。&lt;/p&gt;


	&lt;p&gt;但是如果需要測試 sendfile 的話，就需要裝在別的檔案系統，例如之前裝在 tmpfs 的做法。&lt;/p&gt;


	&lt;p&gt;要先改 httpd.conf 讓它使用 EnableSendfile，同時 DocumentRoot 指到 /mnt/hda1/tmpfs/apache2/htdocs，重新開機後，另外加上可以填滿 htdocs 的東西。&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;mount tmpfs /mnt/hda1/tmpfs -t tmpfs -o size=64m&lt;/li&gt;
		&lt;li&gt;mkdir -p /mnt/hda1/tmpfs/apache2/htdocs&lt;/li&gt;
		&lt;li&gt;cp something to htdocs&lt;/li&gt;
		&lt;li&gt;/usr/local/apache2/bin/apachectl -k start&lt;/li&gt;
	&lt;/ol&gt;


	&lt;h3&gt;雙機作業&lt;/h3&gt;


	&lt;p&gt;這次測希望用兩台機器來測，而不是單機測，所以直接把 slax.vmx 那個檔案夾複製一個，就生出另一台 slax2 機器可以用，還包含一顆一模一樣的硬碟(vmdk)可用。&lt;/p&gt;


	&lt;p&gt;但是用之前要先改一下網卡的硬體位址，免得衝到，所以打開 slax2 的 slax.vmx，將其中一行 ethernet0.generatedAddress 後面隨便加個一就可以了。&lt;/p&gt;


	&lt;p&gt;一開機會希望你建立一個新的識別，我是直接建立，不過開機後要立刻按 F2 去改 &lt;span class="caps"&gt;BIOS&lt;/span&gt;，讓 &lt;span class="caps"&gt;CDROM&lt;/span&gt; 先開機。開機完只要互相 ping 一下，確定網路已通就可以開始雙機暴走測試。&lt;/p&gt;


	&lt;h3&gt;benchmark&lt;/h3&gt;


	&lt;p&gt;&lt;span class="caps"&gt;TODO&lt;/span&gt; 未完待續。&lt;/p&gt;</description>
      <pubDate>Mon, 18 Sep 2006 03:29:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:caa9d5aa-9b61-49ce-a618-6e73121fd70a</guid>
      <author>LIN</author>
      <link>http://blog.extremepattern.com/articles/2006/09/18/apache-in-slax</link>
      <category>linux</category>
    </item>
  </channel>
</rss>
