如何把Nginx 换成 OpenResty ?
无耻地修改了下 nginx的升级脚本,结果发现还是不行。版本号请输入 1.9.15.1结果前面都通过了到了这个地方:
\cp objs/nginx /usr/local/nginx/sbin/nginx提示文件不存在
然后
make upgrade 提示没有 upgrade 直接用openresty的一键包 不清楚,没具体接触测试过openresty
回复 3# 的帖子
主要是想用lua ,nginx编译出问题~~据说 openresty加入了nginx Puls的一些特性 安装lua很简单cd /root
wget -c http://luajit.org/download/LuaJIT-2.0.4.tar.gz
tar zxf LuaJIT-2.0.4.tar.gz
cd LuaJIT-2.0.4
make
make install PREFIX=/usr/local/luajit
cd ..
wget -c https://github.com/openresty/lua-nginx-module/archive/v0.10.5.tar.gz
tar zxf v0.10.5.tar.gz
wget -c https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
tar zxf v0.3.0.tar.gz
export LUAJIT_LIB=/usr/local/luajit/lib
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0
cat > /etc/ld.so.conf.d/luajit.conf<<EOF
/usr/local/luajit/lib
EOF
ldconfiglnmp.conf里Nginx_Modules_Options 加上 --with-ld-opt=-Wl,-rpath,/usr/local/luajit/lib --add-module=/root/lua-nginx-module-0.10.5 --add-module=/root/ngx_devel_kit-0.3.0
重新升级一下nginx就行了
测试lualocation /lua {
default_type 'text/html';
content_by_lua 'ngx.say("hello world")';
}
回复 5# 的帖子
啊啊啊啊太感谢了折腾了我三天了!!!!崇拜~~~
回复 5# 的帖子
在nginx .conf加入:http{ ...
limit_req_zone $cookie_token zone=session_limit:3m rate=1r/s;
limit_req_zone $binary_remote_addr $uri zone=auth_limit:3m rate=1r/m;
}
location /{ limit_req zone=session_limit burst=5; rewrite_by_lua '
local random = ngx.var.cookie_random
if (random == nil) then
return ngx.redirect("/auth?url=" .. ngx.var.request_uri)
end
local token = ngx.md5("opencdn" .. ngx.var.remote_addr .. random)
if (ngx.var.cookie_token ~= token) then
return ngx.redirect("/auth?url=".. ngx.var.request_uri)
end
'; } location /auth { limit_req zone=auth_limit burst=1; if ($arg_url = "") { return 403; } access_by_lua '
local random = math.random(9999)
local token = ngx.md5("opencdn" .. ngx.var.remote_addr .. random)
if (ngx.var.cookie_token ~= token) then
ngx.header["Set-Cookie"] = {"token=" .. token, "random=" .. random}
return ngx.redirect(ngx.var.arg_url)
end
'; }
我想大家也应该已经猜到,这段配置文件的原理就是:把本来的发token的功能分离到一个auth页面,然后用limit对这个auth页面进行频率限制即可。这边的频率是1个IP每分钟授权1个token。当然,这个数量可以根据业务需要进行调整。
需要注意的是,这个auth部分我lua采用的是access_by_lua,原因在于limit模块是在rewrite阶段后执行的.
------------------------------------------------------------------------------------------------------------------------------
Starting nginx... nginx: invalid number of arguments in "limit_req_zone" directive in /usr/local/nginx/conf/nginx.conf:57
重启nginx 后报这个错误(nginx 1.10.1)
[ 本帖最后由 依剑听雨 于 2016-7-1 14:02 编辑 ]
回复 7# 的帖子
nginx的limit_req模块只能有一个变量回复 5# 的帖子
make: *** Error 1make: Leaving directory '/root/lnmp1.4/src/nginx-1.13.0'
Makefile:8: recipe for target 'build' failed
make: *** Error 2
cp: cannot stat ‘objs/nginx’: No such file or directory
Test nginx configure file...
include/upgrade_nginx.sh: line 59: /usr/local/nginx/sbin/nginx: No such file or directory
upgrade...
/usr/local/nginx/sbin/nginx -t
make: /usr/local/nginx/sbin/nginx: Command not found
Makefile:17: recipe for target 'upgrade' failed
make: *** Error 127
Checking ...
Error: Nginx upgrade failed.
照着这个教程升级Nginx依然是这个错误!
回复 9# 的帖子
教程没有问题,看不到具体错误没法说,也可能你操作步骤上有问题或有其他问题无法解决可以联系qq或旺旺付费安装 licess 发表于 2017-5-4 21:49
教程没有问题,看不到具体错误没法说,也可能你操作步骤上有问题或有其他问题
无法解决可以联系qq或旺旺付 ...
在哪里可以看到比方说 nginx 1.6 用 LuaJIT-2.0.4,nginx 1.7 用其他的包?就是他们的对应关系
页:
[1]