#Nginx动态编译加载模块步骤

#查看目前Nginx版本及编译模块

#[root@centos7 ~]# /opt/app/lnmp/nginx-1.12.0/sbin/nginx -V

#nginx version: nginx/1.12.0

#built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) 

#built with OpenSSL 1.0.2k  26 Jan 2017

#TLS SNI support enabled

#configure arguments: --prefix=/opt/app/lnmp/nginx-1.12.0 --with-pcre=/opt/app/lnmp/pcre-8.40

#

#下载nginx-1.12.0源码包,并且解压.比如加载--with-http_ssl_module模块

#cd nginx-1.12.0

#./configure --prefix=/opt/app/lnmp/nginx-1.12.0 --with-pcre=/opt/app/lnmp/pcre-8.40 --with-http_ssl_module

#make  

###########################切记不能make install#####################

#此时源码包里的objs多了一个nginx启动文件.进入cd /opt/download/nginx-1.12.0/objs

#备份原来二进制nginx启动文件.

#\mv /opt/app/lnmp/nginx-1.12.0/sbin/nginx /opt/app/lnmp/nginx-1.12.0/sbin/nginx.bak

#\cp nginx  /opt/app/lnmp/nginx-1.12.0/sbin/nginx

#平滑启动: /opt/app/lnmp/nginx-1.12.0/sbin/nginx -s reload

----若是平滑升级则在平滑重启前,源码目录下make upgrade .源码包要比现有包新稳定版.


动态编译php

@进入源码包.

/opt/download/php-7.1.5/ext && ls

@进入需要加载的模块.如何GD

cd gd

@然后用原来编译安装好的php启动目录下的phpize生成configure

[root@centos7 gd] /opt/app/lnmp/php-7.1.5/bin/phpize  回车.

@把编译配置加入安装好的php-config

[root@centos7 gd] ./configure --with-php-config=/opt/app/lnmp/php-7.1.5/bin/php-config

[root@centos7 gd] make && make install

@编译完成后生成的文件存放在,完成没有报错会提示如下.

/opt/app/lnmp/php-7.1.5/lib/php/extensions/no-debug-non-zts-20160303/

@ 修改php.ini文件extension支持gd.so