MENU

給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的文檔,之後我也會貼出我的配置。

添加新评论

已有 2 条评论
  1. 看的一头雾水

  2. 我是先停了进程再进行编译的,好像并不需要替换[email protected](你懂的)