給nginx添加Google Page Speed模塊
@(想一想) 最近在研究反向代理,準備代理一些被GFW封鎖的軟件源,但是在字符串替換上遇到了麻煩,查詢資料時發現了Google Page Speed,根據介紹發現這是一個利器,目前google似乎將它捐贈給apache基金會了,於是便優先折騰了這個東西。
安裝準備
現在機器上安裝了bt,它的nginx路徑不是通過apt默認安裝的路徑,需要通過find命令查找一下
find / -name nginx
經過查找後發現bt的nginx位與 /www/server/nginx/sbin/nginx
使用nginx -V
命令可以看到nginx編譯時的參數,保存這些參數,我們需要重新編譯nginx並在參數內添加PageSpeed插件
準備Goole Page Speed
首先到github下載最新的releases,務必使用releases,使用git克隆將會提示開發版本
https://github.com/apache/incubator-pagespeed-ngx/releases
然後解壓下載的包,根據上面nginx編譯參數,我將它解壓到/www/server/nginx/src,當然目錄可以隨意
然後進入解壓出來的Goole Page Speed的目錄裏,下載psol並解壓
wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-x64.tar.gz
tar -xzvf 1.13.35.2-x64.tar.gz
rm 1.13.35.2-x64.tar.gz
這是一個必須步驟,如果不下載psol在執行configure的時候會提示錯誤,你可以嘗試一次,會提示需要下載psol並給出下載命令
當在ubuntu16.04安裝時需要安裝uuid-dev,不然執行configure的時候會提示library錯誤
apt-get install uuid-dev -y
nginx的編譯
首先去nginx官網下載nginx,請儘量使用和之前相同的nginx版本,當然也可以使用最新版本
然後解壓並執行configure的時候複製前面nginx -V保存的參數 並在後面加入--add-module=/www/server/nginx/src/incubator-pagespeed-ngx-1.13.35.2-stable
下面是示例
./configure --user=www --group=www --prefix=/www/server/nginx --with-openssl=/www/server/nginx/src/openssl --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --add-module=/www/server/nginx/src/nginx-http-concat --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_gunzip_module --with-stream --with-stream_ssl_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --add-module=/www/server/nginx/src/incubator-pagespeed-ngx-1.13.35.2-stable
無錯誤後可以使用make
編譯了,切記不要使用make install
替換現有的nginx
當編譯完成之後,在objs目錄裏會保存編譯後的nginx,需要做的是使用這個nginx替換原先的nginx
rm /www/server/nginx/sbin/nginx && cp objs/nginx /www/server/nginx/sbin/nginx
另外bt似乎也會創建/usr/bin/nginx,也需要替換這個
rm /usr/bin/nginx && cp objs/nginx /usr/bin/nginx
然後重啓你的nginx就大功告成了,這裏需要注意是重啓而不是重新載入。
提示
這篇文章只是安裝,使用方面參考PageSpeed的文檔,之後我也會貼出我的配置。
看的一头雾水
我是先停了进程再进行编译的,好像并不需要替换~~@(你懂的)