管理實務
本頁用來記錄一些使用 Pixmicat! 架設板面時的參考資料。
Table of Contents
|
config.php 建議設定
memory_limit
memory_limit 這個值是限制 PHP 所能使用的記憶體量。如果版面經常上傳尺寸大的圖片,則預設值將會不夠。
建議視伺服器所能承擔的負荷,酌量加大用量限制。但注意太大也可能會壓縮到其他程式的記憶體使用量。
STATIC_HTML_UNTIL
STATIC_HTML_UNTIL 這個值是每次版面文章變更時,重新產生靜態頁面的數目。如果版面有 100 頁意味者每次都要重新生成 100 個檔案,十分吃 CPU Time。
建議此值可設為一正整數,讓程式只生成前幾頁,後面比較少人看的頁面再使用動態生成產出,節省資源。
搭配 Apache 使用之進階設定
注意:以下內容均假設伺服端空間有開放使用 .htaccess 檔修改伺服器組態之功能,並有安裝相關的模組。請自行了解您所使用的空間是否支援相關功能。
快取最佳化
由於 Pixmicat! 為一貼圖討論板,運作的流量需求便十分可觀。若能善加利用用戶端至伺服端連線中所可能經過的各種快取(包含使用者的瀏覽器內建快取以及網路上的代理伺服器等),便能以相同的空間配置服務更多使用者。
範例
於 Pixmicat! 架設之空間設定如下的 .htaccess :
ExpiresActive on
ExpiresByType text/html "modification"
ExpiresByType application/xhtml+xml "modification"
<FilesMatch "([0-9]{13})s?\.(jpg|png|gif)$">
ExpiresByType image/jpeg "modification plus 1 year"
ExpiresByType image/png "modification plus 1 year"
ExpiresByType image/gif "modification plus 1 year"
</FilesMatch>
如上的設定使用了 mod_expires 的功能,可以將 (X)HTML 頁面設定為馬上過期,下次瀏覽時瀏覽器會自動檢查頁面是否有更新。對於頁面中所張貼的圖檔,則將其過期時間設定在未來;在快取容量足夠的前提下,該些圖檔只需下載一次即不會再被同一用戶端/代理伺服器重複請求下載。
CoralCDN 之應用
在伺服器流量極度受限的場合,可利用 CoralCDN 的分散式快取架構來有效降低流量。然需注意用戶端開啟圖檔時的顯示速度會嚴重受限,因此不建議完全強制使用。
範例
於 Pixmicat! 架設之空間設定如下的 .htaccess :
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/(.+)/(src|thumb)/(.+)
RewriteCond %{HTTP_USER_AGENT} !^CoralWebPrx
RewriteCond %{QUERY_STRING} !(^|&)coral-no-serve$
RewriteRule ^(.+) http://%{HTTP_HOST}.nyud.net:8080/$1 [R,L]
如上的設定是使用 mod_rewrite 之功能,將所有圖檔(包含大圖和縮圖)均重導為使用 CoralCDN 之連結。
防盜連
討論板上之附圖,可能會遭人直接轉貼連結至其他地方,甚至亦有不肖使用者會故意將貼圖討論板作為外連存圖空間使用。為避免伺服器資源遭不當濫用,可參考使用防盜連設定。
範例
於 Pixmicat! 架設之空間設定如下的 .htaccess :
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/(.+)/src/(.+)
RewriteCond %{HTTP_REFERER} !^http://%{HTTP_HOST}(.nyud.net:8080)?/(.+)/
RewriteCond %{HTTP_USER_AGENT} !^CoralWebPrx
RewriteRule ^(.+) - [F,L]
需注意原圖連結被轉載至 Telnet bbs 上,而後有使用者自 Telnet 軟體點選連結之情況,亦會被以上設定判定為盜連。若您可以接受如此的討論方式,請不要套用以上防盜連設定。加上RewriteCond %{HTTP_REFERER} !^$ 在 RewriteRule 一行之上。
預覽網頁:
關閉預覽