如何把apache和php裝在ramdisk裡面呢??

這個版面主要討論 debian 在 server 端的應用問題, server 種類繁多..舉凡 Web Server 、 File Server、 DHCP Server..等等。

版主: 阿信

如何把apache和php裝在ramdisk裡面呢??

文章onwe » 週二 12月 14, 2004 1:34 pm

大家好,
最近我在寫php,因為在現成的,所以是在xp下面寫及跑
可是發現執行大一些的php要花近20秒 :-?
太久了,所以想了一下,
把ram割15mb做h碟,然後apache和php及寫的php都放在上面
結果一樣的php檔不到3秒就出來了 :shock: ,可見讀取效率的重要性。 :-P
現在想要實做了,所以想用一台沒用的老電腦來做server。
可是在debian下做的話,apache和php的目錄也和xp一樣是可以搬來搬去的嗎???(想也和xp一樣搬到ramdisk裡去)
以及設定ramdisk的大小是在哪裡呢???
謝謝
我知道用apt-get install就可以安裝了,可是安裝的預設路徑也是可是改的吧???要如何做呢???
onwe
可愛的小學生
可愛的小學生
 
文章: 32
註冊時間: 週四 11月 25, 2004 4:05 pm

re:如何把apache和php裝在ramdisk裡面呢??

文章d2207197 » 週二 12月 14, 2004 1:44 pm

可以掛載一個 tmpfs,很方便好用的 ramdisk。
apache 目錄改 /etc/apache/httpd.conf 就好啦,難不成您裝 server 都不先把設定檔看一遍?
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

re:如何把apache和php裝在ramdisk裡面呢??

文章onwe » 週一 12月 20, 2004 9:09 am

有一個地方
http://on-x.ca/html/rxlinux.html
那裡有一個livecd
似乎可用不用硬碟就可以跑php的樣子
我燒了一塊,可是不知道如何在bash那裡執行apache
我打apache start,可是說沒有這個東西
是不是要改什麼呢???
onwe
可愛的小學生
可愛的小學生
 
文章: 32
註冊時間: 週四 11月 25, 2004 4:05 pm

re:如何把apache和php裝在ramdisk裡面呢??

文章Niise » 週一 12月 20, 2004 11:42 am

hmmmm
你似乎弄錯啦...人家是告訴你....
你只要將你的doc root換到你的ramdisk就好啦...
Niise
可愛的小學生
可愛的小學生
 
文章: 54
註冊時間: 週日 11月 10, 2002 10:41 am
來自: 台灣

re:如何把apache和php裝在ramdisk裡面呢??

文章onwe » 週一 12月 20, 2004 2:14 pm

Niise 寫:hmmmm
你似乎弄錯啦...人家是告訴你....
你只要將你的doc root換到你的ramdisk就好啦...


謝謝你的回覆
雖然我還是不太懂
我的情況是這樣子
我有一台P133的筆電97年的老電腦,沒有光碟及軟碟,有32mb ram
還有一台p600的筆電有光碟及軟碟但沒硬碟 :-?
所以第一個問題是針對第一台電腦
第二個問題是針對第二台電腦
當然用p600跑會跑比較快
可是用p133跑會比較方便,因為有硬碟可以自己東改西改
所以我才找到了上面那個live CD來試試看
說了一大堆有的沒的不好意思

doc root是包含apache和php的文件夾的意思嗎?
換是指mount的意思嗎??

我原本的想法是想說把apache和php這兩個文件夾"搬"到ramdisk那裡去
開機之後先搬
然後再修改httpd.conf把apache和php的文件夾指定對應到ramdisk裡面去就行了
是這樣子嗎?????(我在XP下面現在就是這樣子搞的) :-D
所以只是想知道DEBIAN下面是不是這樣子作也能成功

希望大家看得懂我在說什麼
或者是有什麼更好的方案嗎???
我接觸DEBIAN沒多久,請多多指教
當我在5000日元的notebook上面能用網路裝debian就發現debian令人驚豔
onwe
可愛的小學生
可愛的小學生
 
文章: 32
註冊時間: 週四 11月 25, 2004 4:05 pm

re:如何把apache和php裝在ramdisk裡面呢??

文章d2207197 » 週一 12月 20, 2004 3:11 pm

當然可以成功囉!
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

Re: re:如何把apache和php裝在ramdisk裡面呢??

文章ricky » 週一 12月 20, 2004 10:36 pm

onwe 寫:doc root是包含apache和php的文件夾的意思嗎?
換是指mount的意思嗎??


應該不是...

doc root是用來放置你要給別人看的內容
ricky
可愛的小學生
可愛的小學生
 
文章: 72
註冊時間: 週五 10月 10, 2003 8:17 pm

Re: re:如何把apache和php裝在ramdisk裡面呢??

文章Niise » 週二 12月 21, 2004 1:02 pm

代碼: 選擇全部
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html/"

不同的系統會有不同的位置,但是基本上都在var裡面...
你想要利用ramdisk來加速讀取,那就是請你將DocumentRoot指定的目錄換到你建立的ramdisk,當然不止改這邊啦..該目錄的權限記得要改
Niise
可愛的小學生
可愛的小學生
 
文章: 54
註冊時間: 週日 11月 10, 2002 10:41 am
來自: 台灣

re:如何把apache和php裝在ramdisk裡面呢??

文章onwe » 週四 12月 30, 2004 12:11 am

append="ramdisk_size=8192"
這是一個不錯的指令
用在lilo裡面
當我在5000日元的notebook上面能用網路裝debian就發現debian令人驚豔
onwe
可愛的小學生
可愛的小學生
 
文章: 32
註冊時間: 週四 11月 25, 2004 4:05 pm

Re: re:如何把apache和php裝在ramdisk裡面呢??

文章onwe » 週四 12月 30, 2004 1:50 am

Niise 寫:
代碼: 選擇全部
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html/"

不同的系統會有不同的位置,但是基本上都在var裡面...
你想要利用ramdisk來加速讀取,那就是請你將DocumentRoot指定的目錄換到你建立的ramdisk,當然不止改這邊啦..該目錄的權限記得要改



謝謝,可是我現在發現了一個問題,
那就是我把cp /var/www /tmp寫在rcS.d裡的s45xxxxx裡面
(有點偷懶的方法就是了 :-P )
可是不行,我用root登入之後再跑一次cp /var/www /tmp就可以了,這也是權限關係嗎???
:-? 我把ramdisk mount到/tmp 下了
當我在5000日元的notebook上面能用網路裝debian就發現debian令人驚豔
onwe
可愛的小學生
可愛的小學生
 
文章: 32
註冊時間: 週四 11月 25, 2004 4:05 pm

re:如何把apache和php裝在ramdisk裡面呢??

文章caosheng » 週四 12月 30, 2004 2:04 am

請問有沒有方法讓程式在 "讀取" 資料庫的時候在RAM中 "寫入"時寫入硬碟中
即使硬碟資料庫和RAM資料庫不即時同步更新資料也無所謂
一段時間後,甚至是重新啟動後再更新RAM中的資料庫內容(將硬碟部份複製到RAM)

這樣作的原因是加強讀取效率而且例如論壇張貼的資料也確保儲存在硬碟裡
不會因為意外原因而失去新資料

我想到一個方法,,即讀寫分開來,必須寫入的資料庫mount在硬碟的資料庫,唯讀資料庫mount在存在RAM中的那一份資料庫

實作方面,zope的zodb很容易做到,但是MySQL我不熟,不知道有沒有這種mount功能呢
最後由 caosheng 於 週四 12月 30, 2004 2:09 am 編輯,總共編輯了 1 次。
caosheng
懵懂的國中生
懵懂的國中生
 
文章: 222
註冊時間: 週一 12月 27, 2004 2:27 pm

Re: re:如何把apache和php裝在ramdisk裡面呢??

文章d2207197 » 週四 12月 30, 2004 2:06 am

onwe 寫:謝謝,可是我現在發現了一個問題,
那就是我把cp /var/www /tmp寫在rcS.d裡的s45xxxxx裡面
(有點偷懶的方法就是了 :-P )
可是不行,我用root登入之後再跑一次cp /var/www /tmp就可以了,這也是權限關係嗎???
:-? 我把ramdisk mount到/tmp 下了


請問您寫在 S45xxxx 的哪裡呢!
搞不好那段根本不會執行到說!

另外,/tmp 有一堆程式運作會用到,/var/www 不該丟到 /tmp,您應該另建立個與系統運作無關的目錄,並把 DocumentRoot 指向他。
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

re:如何把apache和php裝在ramdisk裡面呢??

文章onwe » 週四 12月 30, 2004 1:36 pm

我確定它有被執行到,因為我的ramdisk已經被mount上去了。
會mount到/tmp是因為我想說其它的一堆程式也會被執行快一些
但是我還是不知道為什麼copy的指令無法被執行耶???
是因為我要copy的東西在/usr裡面嗎??
可是連我要copy的/var/www都不行的話,這不是怪怪的嗎???
因為執行mount這個指令的權限都有了,怎麼會沒有cp的權限呢???
這是我不懂的地方,請指教
當我在5000日元的notebook上面能用網路裝debian就發現debian令人驚豔
onwe
可愛的小學生
可愛的小學生
 
文章: 32
註冊時間: 週四 11月 25, 2004 4:05 pm

Re: re:如何把apache和php裝在ramdisk裡面呢??

文章d2207197 » 週四 12月 30, 2004 4:02 pm

onwe 寫:我確定它有被執行到,因為我的ramdisk已經被mount上去了。
會mount到/tmp是因為我想說其它的一堆程式也會被執行快一些
但是我還是不知道為什麼copy的指令無法被執行耶???

ramdisk mount 有上去跟 cp /var/www /tmp 是否成功有什麼關係呢?
您上篇文章不是只說把 cp /var/www /tmp 寫在rcS.d/S45xxxxx?
如果 mount tmpfs 晚於 cp ,那 cp 過去也是沒有用的。

若您希望一堆程式也會被執行快一點,那您可以另外讓 /tmp 也是 mount tmpfs 阿,並沒有限制一次只能用一個 tmpfs

一般的作法是 mount tmpfs 到 /dev/shm
然後在 shm 裡面建立目錄,比如說建立個 tmp,再 mount --bind 到 /tmp。
您也可以建立個 /dev/shm/www,再 mount --bind 到其他地方,用於存放 web 資料。
onwe 寫:是因為我要copy的東西在/usr裡面嗎??
可是連我要copy的/var/www都不行的話,這不是怪怪的嗎???
因為執行mount這個指令的權限都有了,怎麼會沒有cp的權限呢???
這是我不懂的地方,請指教

我想問題不是出在權限吧,您也沒有說有任何訊息提到是權限問題。
另外,為什麼又扯到 /usr 呢?小弟被您搞糊塗了。
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

re:如何把apache和php裝在ramdisk裡面呢??

文章訪客 » 週四 12月 30, 2004 4:14 pm

呵呵,不好意思 :ooops:
我用的是2.2.20,好像這個kernel不支援fs type
我可以install tmpfs,可是無法執行。
我cp是在mount後面,可是那個cp的動作在開完機後並沒有成功。
所以我才想說是不是cp的問題,
不然,我試試mount ramdisk後,sleep 個10秒再cp的話,會不會成功呢???想說會不會是mout還沒上去就cp了,所以才失敗。
/usr裡面有php的那個函式庫阿,所以我也打算cp去ramdisk。
訪客
 

下一頁

回到 debian server

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron