個人心情和 Linux / FreeBSD 等技術

2010/06/16

在 Debian 上跑 lusca reverse proxy

紀錄一下算是備忘, lusca 是修改自著名 proxy 軟體 squid

由於最近自己在 Debian 上自行編譯惡搞....完全是 bsd style

預設直接跑 configure 的話給的 cflag 很少..所以得自己 hack

sudo 環境底下的話會變成像這樣

sudo "CFLAGS=-m64 -Wall -g -O2 -pipe -march=native -fno-strict-aliasing -D_REENTRANT" ./configure blablabla
有興趣的話請自行翻閱 gcc 的 CFLAGS 是代表啥意思

--enable-epoll --with-pthreads 算是重要的編譯選項,最好加個

--disable-select --disable-poll 確保 squid 不會用 select 或是 poll 來跑

檔案系統是 reiserfs ( best for random access ), squid storeio 則選擇 aufs,

雖然我聽到很多說法是 diskd 比 aufs 效能好,(當然也有建議跑 aufs 的拉)

...但就以前在縣網裡跑在 FreeBSD 4 、5 版上面的經驗是效能不怎麼樣 . . .

而且當時跑 diskd 還要額外重編譯核心

比較特別的是 lusca 如果是藏在 load balancer 底下的話編譯時可加個

--enable-follow-x-forwarded-for
然後在 squid.conf 中 加上
follow_x_forwarded_for allow (NAME)
forwarded_for on

才能讓 squid 紀錄到外部真實的 IP

另外這次沒有編譯到 --enable-async-io ,但由於是使用萬轉的硬碟

目前 bottleneck 不在硬碟上,所以也就還好。

其他關於 squid 最佳化的說明可參考之前文章
squid 效能等注意事項!