宝塔面板Nginx自编译云锁防护模块详细教程

2024年03月21日 宝塔面板 Nginx自编译云锁 宝塔面板Nginx自编译云锁 云锁 云锁防护模块 懒猪技术

注意:如果你是极速安装的lnmp环境,那么是不能编译的,所以安装lnmp环境请选择编译安装


云锁的防CC还是很不错的,比宝塔自带的waf要好很多。特别是在防CC方面,云锁相当不错。当然宝塔面板安装云锁的教程有很多,一般我们都是自编译云锁的nginx防护模块,然后开启防护。


测试环境:宝塔面板8.0.5 ,nginx1.24.0,貌似只支持nginx版本。


安装部署:


0、Nginx文件备份

编译前先将已经安装的Nginx文件进行备份,通过ps命令查看nginx文件的路径。以下所有步骤都以自身nginx路径为准。使用如下命令查找路径。

ps -elf | grep nginx

命令执行之后,我们会得到宝塔面板nginx的具体路径:/www/server/nginx/sbin/nginx

所以,我们继续执行下面的命令:

cd /www/server/nginx/sbin/   #进入到路径
cp nginx nginx.bak    #备份nginx


1、下载云锁防护模块

我们现在下载云锁防护模块,下载的路径:/www/server/nginx/src 命令如下:

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


2、解压

解压云锁防护模块压缩包nginx-plugin-master.zip

unzip nginx-plugin-master.zip


3、获取当前云锁模块所在目录的全路径

cd nginx-plugin-master/
pwd

具体操作结果,如图:

需要把云锁的防护模块全路径/www/server/nginx/src/nginx-plugin-master复制好放在记事本里面。


4、查看宝塔编译好的nginx加载模块

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

nginx -V   #这里的V是大写

获取的模块如图:

注意:需要将./configure arguents:之后的内容复制到记事本备用。


5、开始编译

进入nginx源码目录,对nginx进行编译(宝塔面板安装的nginx源码位于/www/server/nginx/src),编译时添加云锁防护模块参数。

参数路径为第3步获取的云锁防护模块源码全路径:/www/server/nginx/src/nginx-plugin-master

编译内容为(./configure 第四步记事本中的备用内容 --add-module=第三步记事本中的备用内容)进入src目录开始编译,命令如下:

cd /www/server/nginx/src

具体的完整添加代码,如下:

./configure 第四步记事本中的备用内容 --add-module=第三步记事本中的备用内容

一定要在/www/server/nginx/src这个目录下面执行编译。切记!复制进去之后开始回车开始configure。

这步可能出现的问题如图:

解决方法:Nginx安装lua-nginx-module


6、修改objs/Makefile文件

Nginx1.8.0 以上和 Tengine 2.1.2 则需要修改objs/Makefile文件来支持post过滤,在Makefile文件中的 CFLAGS=...-Werror -g 后追加宏定义 -DHIGHERTHAN8 使用vi打开文件,命令如下:

vi objs/Makefile

具体执行,如图:

备注:按i后找到 -Werror -g 添加 -DHIGHERTHAN8 ,添加之后按ESC输入:wq 保存退出即可。

备注:也可以不使用命令直接到文件所在路径编辑修改:/www/server/nginx/src/objs/Makefile

接下来我们输入命令:

make


7、nginx文件替换

make完成后将系统中原有的nginx用重新编译生成的nginx文件替换,替换后重启nginx使新编译nginx生效,具体命令如下:

rm -rf /www/server/nginx/sbin/nginx
cp objs/nginx /www/server/nginx/sbin/
service nginx restart

具体执行,看图:

执行命令nginx -V我们可以看到云锁的防护模块已经编译成功,如图:


8、PC端连接到服务器

到此通过PC端连接到服务器端,在PC端的界面上可以看到已识别nginx插件(由灰色变为绿色)。虽然是编译好了,但是如果你没有在服务器端安装云锁软件是不能连接的。

我们看到确实已经【自编译】成功。


9、测试效果

这也是官网提供的方法,在浏览器中执行:http://域名/?order%20by


10、卸载

使用nginx.bak文件替换掉自编译的nginx文件,替换后重启Nginx。以下nginx路径与上述安装路径一致,实际以自身nginx路径为准。

cd /www/server/nginx/sbin/ 
rm -rf nginx
mv nginx.bak nginx
service nginx restart


11、一些细节

如果不能连接需要在宝塔面板安全中放心云锁的5555端口,前提是你已经在服务器端安装了云锁软件。

安装分为linux端和windows端:【Linux服务器端安装说明】【Windows服务器端安装说明

连接的方式,如果就一台服务器,可以选择单机管理

按照要求直接输入ip即可,用户名就是root,密码就是服务器管理密码,输入之后点击登录。

如果不能登录,宝塔面板→安全,放行5555端口。


参考资料:https://help.yunsuo.qianxin.com/guide/Nginx.html

本文链接:http://so.lmcjl.com/news/109/

展开阅读全文