%20%E4%B8%8A%20Apache%20%E7%9A%84%E9%A0%BB%E5%AF%AC.png)
我想知道是否有人有任何解決方案來限制 Xserve(運行 Apache 2)上的頻寬;我正在嘗試使用 mod_bw (http://ivn.cl/category/apache/#bandwidth),但遇到了問題。我可以使用 apxs 來建立正確的模組,但是當我嘗試重新啟動 Apache 時遇到問題(它說 mod_bw.so 是針對錯誤的體系結構編譯的)。
謝謝。
答案1
您可以使用防火牆的虛擬網路功能進行頻寬限制(說明位於Mac OS X 提示和法新社548,但由於這些僅與 TCP 連接埠號碼綁定,因此它們無法區分不同的虛擬主機、客戶端連線等。
您最好修復架構不匹配的問題。運行file /usr/libexec/apache2/mod_bw.so
以查看該模組是為什麼架構構建的,並file /usr/sbin/httpd
查看 httpd 是為什麼構建的(在 10.6 下,它應該是 X86_64、i386 和 ppc)。為了控制模組建置的架構,我認為您只需添加 -arch 標誌即可傳遞給編譯器和連結器,例如
apxs -Wc,"-arch x86_64" -Wc,"-arch i386" -Wc,"-arch ppc" -Wl,"-arch x86_64" -Wl,"-arch i386" -Wl,"-arch ppc" ...
最好是匹配 httpd 編譯的架構,但只需要包含它實際運行的任何模式;要找到這一點,您可以在活動監視器中查看它。