森林之原
五月 24, 2012, 01:09:15 am *
歡迎光臨, 訪客. 請先 登入註冊一個帳號.

請輸入帳號, 密碼以及預計登入時間
新聞: CPG 1.4.3 繁體中文完成,請到 CPG 的版面下載。
 
   首頁   說明 搜尋 日曆 登入 註冊  
頁: [1]   向下
  寄送主題  |  列印  
作者 主題: 可不可以把相簿路徑改成使用者名稱???  (閱讀 4483 次)
0 會員 以及 1 訪客 正在閱讀本篇主題.
moodyking
訪客
« 於: 五月 02, 2005, 06:44:52 am »

不知道大大懂我意思嗎 smiley01_028
比方說http://xxx.xxx.xxx/photo/index.php?cat=10001
可否把10001改成使用者的名稱 smiley01_047
變成http://xxx.xxx.xxx/photo/username
« 最後編輯時間: 五月 02, 2005, 06:48:30 am 由 moodyking » 向版主檢舉   已記錄
Andrew::
魔,羯
*
離線 離線

文章: 217



個人網站
« 回覆文章 #1 於: 五月 02, 2005, 05:16:33 pm »

如果我記的沒錯的話,userpics裡面的目錄是不能改的。
因為 cpg 本身的程式寫法,要改可能有點麻煩。

如果你要的是好記的相簿網址,可以看一下這篇:
http://coppermine.sourceforge.net/board/index.php?topic=1659.0
向版主檢舉   已記錄

moodyking
訪客
« 回覆文章 #2 於: 五月 02, 2005, 09:46:44 pm »

謝謝大大 馬上研究去
向版主檢舉   已記錄
monkey
訪客
« 回覆文章 #3 於: 五月 02, 2005, 11:07:17 pm »

可以參考一下這個專業級的改法!
pixnet.net 站長之一 是原本CPG的開發團隊..
你可以看到CPG的影子... ^^"

將不同user放在不同目錄, 另外再提供一個簡短的轉址服務  smiley01_058
pixnet 也有.. http://0rz.net/

不知道CPG是否也改成這樣 smiley01_058 然後再加上 可選用 提供遠端主機目錄存取檔案的功能
會不會要求太多..  smiley01_041 已經是 商業程式的規格了 smiley01_041

以下文章引用自.. http://blog.pixnet.net/post/12088/17024
引用
架設像Pixnet或者是無名這類網站真的要所費不貲麼?
其實不然.
下面的東西,對一些大Site來說是很基本的道理。只是想讓初學者省去摸索跟試誤的時間。
一些架站的Tips..

1. Storage Server
外面一台專業存儲設備或者是NAS等等都價格昂貴,但有多少錢做多少事情,買個幾台一般的主機,買個幾張RAID卡,RAID卡的價錢,當然就關係著品質。建議購買具有RAID 5的功能之RAID卡,stripe 可以加快讀取速度,硬碟越多顆,讀取速度越快。RAID 5允許在有一顆硬碟fail的情況下可以rebuild資料回來。增加資料安全性。
一般建立使用者,會給予其流水號,建議使用流水號來分目錄,比如說Pixnet,有一位使用者的帳號是far,他的uid是12345,我會將他的圖片放置於userpics/4/5/12345裡面,這樣有什麼好處?好處在於可以把使用者平均的分散在不同的目錄,不同的機器上。像pixnet的範例,依成長的比例,從1台~100台都可以自由運用。 (分的越細當然就可以分更多台)。有人會說每個人用量都不一樣,真的能夠平均麼?可以的。人數越多,就越平均.Smiley。某site用的是使用者名稱的第一個字母,但是英文字首的命名本來就極不平均,所以要load banlance就越困難,加上他只能最多分到26台。
ㄧ般要讓其他機器可以存取圖檔,我們習慣的作法是開NFS,但是我們建議,盡量不要用NFS,問題太多,效能也不好。能用其他方式取代就取代。

2. DB
Pixnet 使用MySQL 5,自MySQL 4.1之後的sub-select是我很愛用的,真的頗好用。DB在編譯的時候,用不到的功能能關就關,my.cnf 其實有很多東西可以調,看你自己最多的query type是什麼,對於memory的分配就很重要。DB重的是memory,所以能大就盡量大。
tune my.cnf只能有部分的效能增進,要使其到極限,還是要去改寫你的mysql query,使用EXPLAIN來看你的query是不是做太多白工。這部份的效能增進是最大的。
打開log slow query,可以讓你知道哪些query最耗時,想辦法改寫他。
打開mysql cache,這樣mysql會有cache的功能,相同的query就不會再去處理一次,而把上ㄧ次同樣的結果丟出來。時間與CPU都省了下來。
安裝mytop可以幫助你了解可能出問題的query在哪裡。
定期OPTIMIZE TABLE。
能讓php做的,就不要讓mysql去做。與其讓mysql去做非自己專們的運算,不如給php做。
對於常常access且static的資料,比如像是熱門相簿等等,不需要每次都重算。你可以每小時做一次統計,並且將結果丟到一個HEAP的table,這樣對於這種很常大量access的資料,mysql幾乎只是提取資料,而不需要另外做運算。效能上當然是大大增進。
將ㄧ些會很常大量access的資料,且可以經由其他table運算出來的資料,放到另ㄧ個HEAP table,因為HEAP是把table放置到memory,在server重起後,資料會不見。所以適合可以重新運算即可得到,且被大量使用的資料上。
類似像隨機相簿這種,請不要真的把所有的資料放下去隨機,隨著你的site成長越大,這部份的load也就會越大,你只要讓人家感覺是隨機就好了。每個小時從原始資料中random出夠大的SET(比如說1萬份),當使用者要access時,再從這1萬份裡random取出10份即可。randomㄧ萬份是比random一千萬份的時間是少之又少。Server Load也頓減許多。
要做的是功能,某種層度上它是真的隨機,請不要傻傻的全部去給他隨機。
如果機器算多的話,做一下mysql replication,讓master專門做寫入,讓多台slave做讀取,如此可以做到High Available又可以做到備份的功效。效能增進上更是倍數成長。

3. reverse Proxy
Proxy是很重要的,他是擋在file server前面的東西。大家都知道file server最怕的是硬碟壞軌,而過量的IO也確實會讓file Server的壽命減少。Reverse Proxy的功能就在保護File Server的壽命。我在每台file server上面跑thttpd。然後Reverse Proxy再跟file server的HTTP要檔案。thttpd本身有cache的功能,你可以設定expire time,他會cache在memory中,所以實際上可以減少硬碟的I/O,加上Reverse Proxy又再一次的cache,可以做到雙層cache,做到保護硬碟的功效。

4. Web
如果可以的話,讓網站只有很簡單的吞吐,不要有多餘的功能,如果是用APACHE之類的,module load越少越好,htaccess能關儘量關掉。PHP如果可以就跑fastcgi,現在php cache的soft有很多,像是mmcache,APC,eaccelerator等等。它可以將php complie候cache在memory裡,如此,下一次同樣的request就可以少掉這段的耗費。
如果可以弄成static page就最好弄成static page。靜態頁面的吞吐大過於php產生頁面。

5. 程式
程式方面就沒什麼好說了,這多少是看功力。多試多玩,他就是你的了。

還有,做這種東西,很重要的是"Cache!Cache!Cache!!"

很多Optimize的方法Google其實都有,不要怕花太多時間,就算是一點點小tip,有時也是很實用的。

寫的有點雜亂無章.以後想到再補訴。

向版主檢舉   已記錄
moodyking
訪客
« 回覆文章 #4 於: 五月 03, 2005, 10:17:51 am »

感謝提供資訊喔
向版主檢舉   已記錄
頁: [1]   向上
  寄送主題  |  列印  
 
前往:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Valid XHTML 1.0! Valid CSS!