正文:
云锁通常会自动适配 nginx 版本,但是在某些情况下,当我们自己安装了更新的 nginx 版本或者安装了第三方模块时,就需要用户手动进行编译。
如何进行编译呢?网上有很多教程可以帮助你准确地完成自编译的过程。然而,有些教程在某些地方可能会有些模糊,甚至我自己也摸索了几次。为了保障网络安全,避免遭受恶意入侵,我建议大家都进行编译安装。
教程开始
首先请自行登录你的Linux服务器,关于如何登录请自行搜索。这里我就不再详细说明了。
编译步骤
注:备份Nginx
登录服务器后,首先要备份 Nginx 文件。使用 ps 命令查看 Nginx 文件的路径。以下所有步骤都以你的 Nginx 路径为准。
1.运行以下代码查看路径:
ps -elf | grep nginx
2.然后进入 Nginx 的 sbin 目录(直接用下面代码进入,直接复制回车)
cd /www/server/nginx/sbin/
3.备份 Nginx(复制进去回车)
cp nginx nginx.bak
下载云锁防护安装包并且解压
1.执行下面的代码进入 root 目录
cd /root/
2.下载云锁防护模块(直接复制下面代码执行)
wget https://codeload.github.com/yunsuo-open/nginx-plugin/zip/master -O nginx-plugin-master.zip
unzip nginx-plugin-master.zip
4.获取云锁防护模块全路径
cd nginx-plugin-master/
pwd
查看当前 nginx 加载的模块
首先回根目录
cd ~
然后使用下面代码加载的模块
/www/server/nginx/sbin/nginx -V
删除./configure arguents:复制后面的代码
然后进行编辑
./configure 复制的代码 --add-module=/root/nginx-plugin-master
修改编辑保存备用。(我是放在桌面 TXT 文件)
开始编译
进入到 Nginx 源码目录(宝塔面板安装的 nginx 源码位于/www/server/nginx/src)。
1.使用下面代码到 Nginx 目录(这里是默认宝塔,目录根据实际目录修改)
cd /www/server/nginx/src
注意:如果这里提示了错误,就说明你的 Nginx 不是编译安装的(你可能用了极速安装),这里你就需要卸除 Nginx 重新进行编译安装。
2.在编辑框中复制上面我们备用的代码,回车进行编译。
./configure 复制的代码 --add-module=/root/nginx-plugin-master
3.修改 Nginx 与 Tengine,objs/Makefile 文件和 objs/ngx_modules.c 来支持 post 过滤和内容过滤。
首先进入 objs/Makefile 修改
vi objs/Makefile
执行以上命令后,会显示文本信息,然后按键盘[ i ]键,将光标通过方向键移动到 -Werror -g 后面
添加 -DHIGHERTHAN8 (如下图所示,注意两边的空格)
修改完成后,我们按键盘上的 [ Esc ] 键,退出编辑(注意,此时还没有保存),然后我们按 [ Shift ] +[ : ],左下角出现一个冒号。我们在冒号后面输入:wq。
然后回车就保存了。
接着编辑 ngx_modules.c
输入命令,进入文本,也是通过上面的编辑方法进行编辑,这里我就不重复写了。
vi objs/ngx_modules.c
将 &ngx_http_yunsuo_module, 移动到 &ngx_http_userid_filter_module, 的下方。(如下图。注意:你要找到这两个东西,需要利用鼠标滑轮向下滑。)
当然有时候你出现的可能和我图不一样,你要认真看。
然后退出,退出上面也有些。自己看看。
完成后进行 make
命令框输入
make
最后
以下 nginx 路径与上述安装路径一致,实际以自身 nginx 路径为准。
rm -rf /www/server/nginx/sbin/nginx
cp objs/nginx /www/server/nginx/sbin/
service nginx restart
执行以上命令重启 nginx 使新编译 nginx 生效。
然后 PC 客户端就可以看到,自编译完成。
最后效果图
结语:
如果不懂编译的请联系汇站,有偿协助。
转载请注明:汇站网 » 云锁 Nginx 自编译教程,适用于 Nginx/Tengine 和宝塔云锁自编译