本教程是微凉亲测之后才写出来的,分享给不会编译云锁nginx自编译模块的用户。

首先在操作前,请确认已经配置好宝塔面板,并采用编译方法配置的nginx环境!(不是极速安装,是编译安装)

并妥善备份Nginx文件,以及确定本教程不适用于非宝塔用户以及apache用户

其次,本教程只要按照一步一步来,傻瓜都能编译好。官方教程小白看一眼懵逼了,本教程没那么复杂。

配置编译环境,宝塔如果编译好nginx是默认配置好环境的,可以忽略这个配置环境…

yum install -y gcc gcc-c++ pcre-devel openssl openssl-devel

你可以使用SSH工具以ROOT权限登陆之后下载备份nginx,也可以直接使用命令备份nginx

查看nginx位置

ps -elf | grep nginx

进入宝塔nginx目录

cd /www/server/nginx/sbin/

备份宝塔nginx

cp nginx nginx.bak

进入root目录

cd /root

下载云锁防护模块压缩包

wget https://codeload.github.com/yunsuo-open/nginx-plugin/zip/master -O nginx-plugin-master.zip

解压云锁防护模块压缩包

unzip nginx-plugin-master.zip

查看宝塔编译好的nginx加载模块,在重新编译加载云锁防护模块的时候仍需加载这些模块

nginx -V

注意这个命令是大写的V,如果小写v是不会显示模块的

2.png

将./configure arguents:之后的内容复制到记事本备用,比如我的是:

--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 --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-http_concat_module --with-ld-opt=-Wl,-E --with-jemalloc --without-http_upstream_session_sticky_module --with-pcre=pcre-8.40

(我的仅供参考,实际以自己的为准)

进入nginx源码目录,对nginx进行重新编译,操作之前请确认自己的nginx是编译模式安装的,而不是宝塔面板的极速安装

cd /www/server/nginx/src

编译内容

./configure 上一步记事本中的备用内容 --add-module=/root/nginx-plugin-master

./configure和记事本复制的内容之间有个空格,后面的–add-module前面也有个空格,比如我的编译命令为:

./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 --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-http_concat_module --with-ld-opt=-Wl,-E --with-jemalloc --without-http_upstream_session_sticky_module --with-pcre=pcre-8.40 --add-module=/root/nginx-plugin-master

(我的仅供参考,实际以自己的为准)

等待命令结束,输入编译命令

make

完成后将系统中原有的nginx用重新编译生成的nginx文件替换

停止nginx

service nginx stop

删除原来的nginx,操作之前请确认自己的nginx已经备份

rm -rf /www/server/nginx/sbin/nginx

复制新编译的nginx

cp /www/server/nginx/src/objs/nginx /www/server/nginx/sbin/

启动nginx

service nginx start

通过PC端登陆云锁,PC端刷新后可以看到已识别nginx插件(由灰色变为绿色)

云锁nginx自编译web防护20180829022847.png

输入你的网址后面加上/?order%20by,测试云锁

云锁nginx自编译web防护2.png

宝塔环境下云锁Nginx模块自编译错误解决:[alert] 15589#0: worker process 17580 exited on signal 6

解决方式微凉也有写点此查看

备注:如果你实在搞不定,可以联系博主帮忙编译

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。