原已經安裝好的nginx,現在需要添加一個未被編譯安裝的模塊:
nginx -V 可以查看原來編譯時都帶了哪些參數
原來的參數:
--prefix=/app/nginx
添加的參數:
--with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
步驟如下:
1. 使用參數重新配置:
./configure --prefix=/app/nginx -user=nobody -group=nobody --with-http_stub_status_module /
--with-http_ssl_module --with-http_realip_module /
--add-module=../nginx_upstream_hash-0.3.1/ /
--add-module=../gnosek-nginx-upstream-fair-2131c73/
2. 編譯:
make
#不要make install,否則就是覆蓋安裝
3. 替換nginx二進制文件:
cp /app/nginx/sbin/nginx /app/nginx/sbin/nginx.bak
cp ./objs/nginx /app/nginx/sbin/
with-http_realip_module:有些網站使用這樣的方式來搭建分佈式緩存,若干臺Squid放在前面提供緩存服務,內容從後面的 Nginx獲取。不過如此一來,Nginx日誌裏看到的IP就是Squid的IP了,爲了能讓Nginx透明獲取IP,可以使用 NginxHttpRealIpModule。
NginxHttpRealIpModule缺省並沒有激活,可以在編譯的時候使用--with-http_realip_module選項激活它。
with-http_addition:
這個模塊可以在當前的location之前或者之後增加別的location。
它作爲一個輸出過濾器執行,包含到其他location中的主請求和子請求不會被完全緩衝,並且仍然
以流的形式傳遞到客戶端,因爲最終應答體的長度在傳遞HTTP頭的時候是未知的,HTTP的
chunked編碼總是在這裏使用。
with-http_gzip_static:nginx靜態緩存模塊
在搭建squid網頁加速的時候,對於大的css 或者js要進行壓縮,然後再進行緩存,這樣能夠提高減小下載量提高頁面響應速度。如果你用的是squid 3.0以前的版本並且用的是 ngnix server的話可能會碰到如下問題:不用squid直接打開頁面則客戶端返回的是壓縮的狀態,如果啓用squid加速會發現下載下來的頁面不是壓縮狀態。這裏面主要是沒有啓動ngnix 的靜態緩存模塊
with-http_random_index_module :從目錄中選擇一個隨機主頁
--with-http_stub_status_module :這個模塊可以取得一些nginx的運行狀態
with-http_sub_module : 這個模塊可以能夠在nginx的應答中搜索並替換文本。
with-http_dav_module:這個模塊增加一些HTTP和webdav擴展動作(PUT, DELETE, MKCOL, COPY和MOVE)
轉自 http://blogold.chinaunix.net/u2/61187/showart_2440401.html