安裝成功的nginx,如何添加未編譯安裝模塊(非覆蓋安裝http_image_filter_module)

背景: 1.作了圖片上傳小項目。 2.圖片上傳,須要多圖管理。 3.圖片上傳,須要存儲到Fastdfs。 4.Fastdfs上的圖片,和Nginx結合。 5.Nginx從Fastdfs得到的圖片,須要使用縮略圖。 a.在不須要縮略圖,小圖的狀況下,可使用原圖。 b.須要縮略圖的狀況下,指定目標寬度和高度,得到指定寬度和高度的縮略圖。 關鍵的幾個參考資料 1.安裝成功的nginx如何添加未編譯安裝模塊 http://blog.csdn.net/gebitan505/article/details/17612845 2.nginx命令:啓動,中止及命令參數詳解 http://blog.csdn.net/aidenliu/article/details/6413342 3.nginx圖片過濾處理模塊http_image_filter_module安裝配置筆記 http://www.cnblogs.com/tintin1926/archive/2012/07/11/2586624.html 第1步:查看nginx編譯安裝時的命令,安裝了哪些模塊 /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.8.0 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)  configure arguments: --add-module=/root/soft/fastdfs-nginx-module-master/src       cd /root/soft/nginx-1.8.0 ./configure --prefix=/root/soft/ --add-module=/root/soft/fastdfs-nginx-module-master/src --with-http_image_filter_module --with-http_realip_module  --with-debug 報錯啦 ./configure: error: the HTTP image filter module requires the GD library. You can either do not enable the module or install the libraries. 第2步:安裝the GD library #這種不行,我本身YY的 yum install gd Running Transaction   Installing : libXpm-3.5.10-2.el6.x86_64                                                                                                       1/2    Installing : gd-2.0.35-11.el6.x86_64                                                                                                          2/2    Verifying  : libXpm-3.5.10-2.el6.x86_64                                                                                                       1/2    Verifying  : gd-2.0.35-11.el6.x86_64                                                                                                          2/2  Installed:   gd.x86_64 0:2.0.35-11.el6                                                                                                                          Dependency Installed:   libXpm.x86_64 0:3.5.10-2.el6                                                                                                                       Complete! 按照本身yy的方式,沒法啓動。 百度搜索「the HTTP image filter module requires the GD library」,找到如下方式~ #這種方式能夠 yum install gd-devel Installed:   gd-devel.x86_64 0:2.0.35-11.el6                                                                                                                    Dependency Installed:   fontconfig-devel.x86_64 0:2.8.0-5.el6               freetype-devel.x86_64 0:2.3.11-15.el6_6.1          libX11-devel.x86_64 0:1.6.0-6.el6            libXau-devel.x86_64 0:1.0.6-4.el6                   libXpm-devel.x86_64 0:3.5.10-2.el6                 libXt.x86_64 0:1.1.4-6.1.el6                 libjpeg-turbo-devel.x86_64 0:1.2.1-3.el6_5          libpng-devel.x86_64 2:1.2.49-1.el6_2               libxcb-devel.x86_64 0:1.9.1-3.el6            xorg-x11-proto-devel.noarch 0:7.7-9.el6             Dependency Updated:   fontconfig.x86_64 0:2.8.0-5.el6     freetype.x86_64 0:2.3.11-15.el6_6.1     libX11.x86_64 0:1.6.0-6.el6     libX11-common.noarch 0:1.6.0-6.el6       libxcb.x86_64 0:1.9.1-3.el6         Complete! 第3步:這個目錄下有二進制文件 /root/soft/nginx-1.8.0/objs 仍然在「/root/soft/nginx-1.8.0」這個目錄下 原來的nginx二進制文件 -rwxr-xr-x 1 root root 3322288 Oct 29 14:29 nginx 編譯生成的Nginx -rwxr-xr-x 1 root root 3480087 Nov  5 18:10 nginx 稍微變大了一點,這應該是增長了一個模塊的效果 cp ./objs/nginx /usr/local/nginx/sbin/   [root@AY1304131823374920ac nginx-1.8.0]# cp ./objs/nginx /usr/local/nginx/sbin/  cp: overwrite `/usr/local/nginx/sbin/nginx'? y cp: cannot create regular file `/usr/local/nginx/sbin/nginx': Text file busy 第4步:中止Nginx的2個進程,再次cp [root@AY1304131823374920ac conf]# ps -ef|grep nginx root     11648  5064  0 18:18 pts/0    00:00:00 grep nginx root     30321     1  0 Oct29 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx nobody   30322 30321  0 Oct29 ?        00:00:08 nginx: worker process       [root@AY1304131823374920ac conf]# ps -ef|grep nginx root     11668  5064  0 18:19 pts/0    00:00:00 grep nginx root     30321     1  0 Oct29 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx nobody   30322 30321  0 Oct29 ?        00:00:08 nginx: worker process       [root@AY1304131823374920ac conf]# kill -9 30321 [root@AY1304131823374920ac conf]# ps -ef|grep nginx root     11670  5064  0 18:19 pts/0    00:00:00 grep nginx nobody   30322     1  0 Oct29 ?        00:00:08 nginx: worker process       [root@AY1304131823374920ac conf]# kill -9 30322 [root@AY1304131823374920ac conf]# ps -ef|grep nginx root     11672  5064  0 18:19 pts/0    00:00:00 grep nginx 從新執行cp命令 第5步:檢查配置,發現啓動報錯 [root@AY1304131823374920ac conf]# /usr/local/nginx/sbin/nginx -t nginx: [alert] could not open error log file: open() "/root/soft//logs/error.log" failed (2: No such file or directory) 2015/11/05 18:20:52 [emerg] 11697#0: open() "/root/soft//conf/nginx.conf" failed (2: No such file or directory) nginx: configuration file /root/soft//conf/nginx.conf test failed 應該是編譯製定了--prefix /root/soft致使的,以前安裝的時候,沒有指定,默承認能是「/usr/local」. 第6步:能夠經過指定配置文件的路徑,來啓動~ nginx -c </path/to/config>   此命令參數指定一個新的nginx配置文件來替換默認的nginx配置文件,若是你不肯定新的nginx配置文件語法是否正確,你能夠經過nginx命令-t參數來測試,-t參數表明不運行配置文件,而僅僅只是測試配置文件,即 nginx -t -c </path/to/config> 此次,我仍是從新編譯算了~ ./configure --prefix=/usr/local/nginx --add-module=/root/soft/fastdfs-nginx-module-master/src --with-http_image_filter_module --with-http_realip_module  --with-debug make cp ./objs/nginx /usr/local/nginx/sbin/   第7步:image_filter指令,不會再報錯了。 location ~ group1/M00/(.+)\.?(.+){           alias /home/fastdata/data;             ngx_fastdfs_module; image_filter resize  200 220;       }
相關文章
相關標籤/搜索