云锁Nginx自编译教程来了,Nginx1.18.0完美编译成功

最近在折腾云锁Nginx的自编译。

毕竟云锁用着比较习惯,而Nginx对wordpress的支持又比较好,但Nginx想要用云锁还要自编译一下,不然是没有效果的,装了也白装。

昨天晚上折腾到12点多,终于在官方教程和各位大神的教程结合之下完成了对Nginx1.18.0完美编译成功,这里就来说下571免费资源小编我是怎么搞定的。

首先环境是Nginx1.18.0,宝塔面板,如果你的Nginx是急速安装,需要先卸载,然后选择编译安装,这点非常重要!

接着请SSH连接上你的服务器,登录root账户,可以使用宝塔远程工具连接,使用起来挺方便。

PS:我对这个不是很熟悉,对命令的一些理解可能是错误的,只是为了方便大家操作,分享一下自己实操经验,如有错误还请指正。

登录以后开始自编译。

1、编译前先将已经安装的Nginx文件进行备份,通过ps命令查看nginx文件的路径。以下所有步骤都以自身nginx路径为准(如果是1.18.0的话就可以无脑跟着做就好)。

使用的命令如下:

ps -elf | grep nginx

云锁Nginx自编译教程来了,Nginx1.18.0完美编译成功

cd /www/server/nginx/sbin/

这条命令意思是进入Nginx的目录,执行命令都是按一下回车键就好了。

cp nginx nginx.bak

这条意思就是备份Nginx

云锁Nginx自编译教程来了,Nginx1.18.0完美编译成功

2、下载云锁防护模块压缩包并解压

cd /root/

这条命令为返回root的意思

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

这个命令就是下载云锁防护模块

云锁Nginx自编译教程来了,Nginx1.18.0完美编译成功

unzip nginx-plugin-master.zip

解压命令

云锁Nginx自编译教程来了,Nginx1.18.0完美编译成功

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

cd nginx-plugin-master/

pwd

云锁Nginx自编译教程来了,Nginx1.18.0完美编译成功

如图我的是/root/nginx-plugin-master,这个可以复制下来放在文本文档里面备用。

4、查看当前nginx加载的模块,在编译加载云锁防护模块的时候仍需加载这些模块。

首先回根目录

cd ~

接着获取加载的模块

/www/server/nginx/sbin/nginx -V

云锁Nginx自编译教程来了,Nginx1.18.0完美编译成功

将红框内的代码复制到文本文档保存,删除./configure arguents:只留下以后的代码,备用。

5、进入nginx源码目录,对nginx进行编译(宝塔面板安装的nginx源码位于/www/server/nginx/src);

编译时添加云锁防护模块参数,参数路径为第7步获取的云锁防护模块源码全路径“/root/nginx-plugin-master”

首先到目录

cd /www/server/nginx/src

接着开始编译,命令代码是:

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

其中./configure需要你自己加上在刚才复制的代码头,加一个空格,另外需要将–add-module=/root/nginx-plugin-master覆盖你刚才复制的代码的后边的–add-module开头的代码,也要加一个空格。

云锁Nginx自编译教程来了,Nginx1.18.0完美编译成功

按回车键开始即可开始编译。

6、编译完成需要Nginx1.8.0 以上和 Tengine 2.2.0 则需要修改objs/Makefile文件和objs/ngx_modules.c来支持post过滤和内容过滤。需要注意的是:1.18等1.1X的版本是大于1.8.0的,我之前一直以为是小于,所以这一步没搞,不成功。

首先进入objs/Makefile修改

vi objs/Makefile

云锁Nginx自编译教程来了,Nginx1.18.0完美编译成功

进去后按鼠标右键(此处操作是按照宝塔远程这个操作的,不代表都是,这里要进入编辑模式)进入编辑,将光标移动到(可以使用上下左右键)-Werror -g后边,加上-DHIGHERTHAN8。

接着开启大写键,分别按ESC、w、q键返回,如果成功的话会显示一个:,没有成功再来一遍。

如果出现了:号,依次输入命令

w

接着

q

就回到了原来的模式。

7、接着编辑ngx_modules.c

进入

vi objs/ngx_modules.c

将&ngx_http_yunsuo_module,向下移动到ngx_http_userid_filter_module和ngx_http_headers_filter_module之间。(已在此之间的则可忽略)

云锁Nginx自编译教程来了,Nginx1.18.0完美编译成功

看不到&ngx_http_yunsuo_module的可以在编辑模式下,按向下的箭头一直往下拉就能看到了。

&ngx_http_yunsuo_module,这个在&ngx_http_upstream_keepalive_module,&ngx_http_upstream_zone_module,附近,仔细找找就能找到,如果找不到,就推倒重来,说明之前的有问题。

退出编辑模式还是步骤6一致。

8、推出以后需要make一下

make

9、漫长等待以后,即可开始将系统中原有的nginx用重新编译生成的nginx文件替换,替换后重启nginx使新编译nginx生效。

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

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

service nginx restart

运行完毕即可编译就算完成了。

10、判断编译是否成功,可以登录云锁看一下,自编译是不是已经成为绿色:

云锁Nginx自编译教程来了,Nginx1.18.0完美编译成功

如果没有意外,应该已经编译成功。

未经允许不得转载:571免费资源 » 云锁Nginx自编译教程来了,Nginx1.18.0完美编译成功