一.简介与思路
当前适用于nginx已经在安装过了,如果没安装过,直接在编译时候添加模块即可。
Nginx主要程序就是nginx这个二进制脚本,只要在编译一个nginx脚本替换掉原来的即可。当前操作是添加echo这个模块。
二.环境准备
系统:centos7.3一台
软件版本:1.8.0
部署目录:/usr/local/nginx
三.安装
1.echo模块可以输出文字,下载解压即可[root@nginx ~]# wget https://github.com/openresty/echo-nginx-module/archive/v0.60.tar.gz
tar xf v0.60.tar.gz
建立一个模块仓库,因为添加模块后,那个文件夹要位置固定,不能删除的[root@nginx ~]# mkdir /usr/local/nginx/module
[root@nginx ~]# mv echo-nginx-module-0.60 /usr/local/nginx/module/
2.查询当前nginx编译模块[root@nginx ~]# nginx -V
3.找到nginx源码包目录,将原来的都填写上,最后--add-module是添加模块,指定模块文件夹位置即可[root@nginx ~]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_spdy_module --with-http_stub_status_module --with-pcre --add-module=/usr/local/nginx/module/echo-nginx-module-0.60/
4.编译,不要install,不然覆盖了,注意看状态,最后没有error就行了[root@nginx ~]# make
5.替换
make后将在当前nginx源码文件夹下有个objs文件夹,里面有个nginx这个文件,这个就是nginx -V时用的命令
备份命令[root@nginx ~]# cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
替换掉[root@nginx ~]# cp objs/nginx /usr/local/nginx/sbin
四.使用验证
进到脚本目录[root@nginx ~]# cd /usr/local/nginx/sbin
检查配置文件是否显示ok[root@nginx ~]# nginx -t
重新加载配置[root@nginx ~]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
重新加载[root@nginx ~]# nginx -s reload
检查是否编译进去,和原来的做对比。[root@nginx ~]# nginx -V