Nginx 安装 ngx_lua_module 笔记


##这篇文章有点水

需要下载以下组件的源码。#Stable版的话当然是越新越好啰。
官方文档

  • Nginx
  • ngx_devel_kit
  • lua-nginx-module
  • LuaJIT

首先编译安装LuaJIT

照着文档

export LUAJIT_LIB=/usr/local/lib
export LUAJIT_INC=/usr/local/include/luajit-2.0

重要的一步

./configure --user=www --group=www --prefix=/usr/local/nginx \ --with-http_stub_status_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-ipv6 \
--with-http_sub_module \
--add-module=.../ngx_devel_kit \
--add-module=.../lua-nginx-module

重新编译Nginx

在nginx的配置上补充
// 没有用到其它扩展的话加不加也无所谓,真的?

# set search paths for pure Lua external libraries (';;' is the default path):
lua_package_path '/foo/bar/?.lua;/blah/?.lua;;';
 
# set search paths for Lua external libraries written in C (can also use ';;'):
lua_package_cpath '/bar/baz/?.so;/blah/blah/?.so;;';

我加上之后变成了 注意是加在了nginx.conf的http段

# set search paths for pure Lua external libraries (';;' is the default path):
lua_package_path '/foo/bar/?.lua;/blah/?.lua;/usr/local/share/lua/5.1/?.lua;;';

# set search paths for Lua external libraries written in C (can also use ';;'):
lua_package_cpath '/bar/baz/?.so;/blah/blah/?.so;/usr/local/share/lua/5.1/?.so;;';

加上测试

location /hello {
        default_type 'text/plain';
        content_by_lua 'ngx.say("LuaLuaLua!")';
}

如果有输出的话,说明Nginx已经得到Lua的助攻了。

不过在成功前我遇到一个问题,按照Nginx与Lua的说明成功解决。要是一开始就找到这篇博文的话就不会有这篇了。不过安装个啥的官方文档才是圣经,菊苣们的博客是新说,圣经新说两个都不能互相代替吧。

场景: 加上测试小程序后重启Nginx遇到

error while loading shared libraries: libluajit-5.1.so.2: cannot open shared

于是。

ldd /usr/local/nginx/sbin/ngxin

发现错误提示的 libluajit-5.1.so.2 ==> not found
解决方法

echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf

把所缺少的libluajit-5.1.so.2的路径告知ld,然后

ldconfig

Nginx启动时,就能根据ld的文件找到库的所在。

如果在content阶段通过content_by_lua_file
指定lua文件进行解析(这才是正解的做法)需要在server段加入,

lua_code_cache off

这样就不用每次都重启nginx。
重启nginx时会提示影响性能,在生产环境时注释掉这一行开启缓存。
如果安装的是openresty可以忽略本文。Nginx + ngx_lua_moudle + ... = openresty

一些奇奇怪怪的东西

记录一下一些有趣(会踩坑)的东西。//立flag!?

0x01

啧啧啧,隐匿转换和精度差异也是黑魔法两大分支呀。
相互触发也是_(:3)
不久前的墙网杯数字取证大赛中,100的审计题涛涛拿了一血。利用的是PHP和MySQL的精度不同。

当?id=1024.00……0001时就可以get flag。 出题者提前设定,一般不会出现这种情况。

然而今天试验

select * from users where password=0;

出现了喜大普奔的情况。
字符串与数字进行比较,会出现成功匹配。啧啧啧,万一有呆萌的开发忘了加引号怎么过滤都没用了。不过这种呆萌的程序员很稀有吧。作为新的姿势学习了(黑魔法)。

0x02

DECIMAL类型是以串的形式存放的。
相对于CHAR(32bit), INT(32bit), FLOAT(32bit), DOUBLE(64bit) 这些固定大小的类型,DECIMAL能够保存更大的精度,与FLOAT和DOUBLE类似,在定义DECIMAL(M,D)时通过M,D确定。M是数字的长度,D是小数点右边数字的长度。

  • D不能比M大。
  • 小数点左边的长度是(D-M)。
  • 储存符号。
  • 每九位有效数字存储为4字节。
  • MySQL 5.5

在MySQL里面进行有关于DECIMAL类型比较会发生的隐式转换,需注意

  • DECIMAL之间不会发生转换。
  • DECIMAL与INT之间, INT会被转换成了DECIMAL.
  • DECIMAL与字符串之间, (WOC)会转换成了实型。度娘帮我找到的一篇参考

0x03

少年,你觉得这个世界真实的就是真实的,假的就是假的吗?

>>>True, False = False, True
>>>print(True)
False
>>>_

在ctf的路上

0x01

这学期有特地空出时间来参加的也就ACTF和强网杯了。

网络渗透这方面真的需要很大的知识储备还有思路,没有经验就直接上的话,成功率还是很小的,效率就更不用说了,多多少少几次比赛下来,思路大概还是get到的。开场靠手速拿到一血二血,但是后面的败给脑洞,这种事情都是too young.没什么值得炫耀的成绩,但都是能在欢声笑语中打出GG的。和涛涛,ddog组队很开心呢。

too young成了口头禅。有了女朋友之后,效率就是高了不少,当然夜生活也是更丰富了,学校断不断电都无所谓了,照样XX。
现在就是一口气打开20多个tab都完全没关系,然后一个一个地啃完。能够更明确地知道要学什么,耐得住寂寞。

0x02

看看书,drops,刷刷菊苣们的博客,然后码码,说好的周常更新还是有压力的,现在的生活只是在累积些什么,期待累积的成果,并不是每天都有高峰和低谷,更多的是一些“正常”的时间。这篇文章放上来,其实也只是说明了,我在玩CTF罢了。

致终将胜利的虫虫和卜卜 —— TO MY DEARESTs

又是一个6.6,前年看着Vilic去战斗,去年看着Veightz酱去战斗,如今虫虫和肉肉也要去战斗了,明年这个时候,我也该去战斗了。

对于虫虫和卜卜嘛,也许应该像拜年问候一样写一封邮件,再不济也应该通过QQ献上祝福的。但是呢,没有面临考前倒计时数天的过程的我,能否切身地体会到他们的心情呢,简单的加油,形式的祝福,反而会成为累赘吧。没有共同感受就没有理解,没有理解,加油的意义要在哪去找。Aklis知道战斗力爆表的虫虫也会焦虑,特立独行的肉肉也会感伤,毕竟那么长的一段时间,由两天的结果来决定,似乎是一件不公平的事情。这是局限在高考的认识吧,人总是会局限于认知力与知识量,之前看到一则关于地球Online的漫画,写的高考篇,推倒高考娘后发现还有就业,恋爱,结婚……等BOSS,高考只是最弱的一个,这也只有跑过高考的圈子(于是陷入另一个圈子么)的人才说得出的话语吧。人生就是不停地在战斗呐。
Aklis要相信虫虫的战斗力和卜卜口的选择,愿十万三千册与你们同在。

貌似在线呢虫子和卜卜  (原来是123!)……

对于我自己,书桌上一叠又一叠的试卷和学校发的,自己买的教辅资料,看着这些都没解决想到还有一年,心里还是有疙瘩的,言语上的教育我想应该也已经饱和了,也许是我所接受的教训还不够吗? 狠狠地要拼个一把,断绝网络,也许两年前就要开始,或应更早就该这么一做,只是,我也许就会失去如今的二次元和二次元上亲爱的各位。所以,不后悔。

「你以为你在跟谁说话?那里可是我的战场。我一定会从战场上生还……」

Growing

新年伊始。

去年这个时候,叨叨嗑嗑地写下年终总结,快快乐乐二次元的好友写年终感言。

今年这个时候,好好发个呆,想想今年的事,高兴的和不高兴的,值得回忆的甚至是铭刻于心的。然后再快快乐乐二次元的好友写年终感言。

本该如此,可是却收到了一封邮件。

原来以为高中了,可以在心里多给三次元腾出点位置,是的。一直顺利进行着呢。花会开也会谢,事情也是有时顺利有时坎坷。心中浮想起某画面——重新找到希望所在的时候,却被现实活生生地腰斩了。

不想有重来的念头,因为当初的选择有存在的尊严与价值。

抱歉了!三次元!

明明是年终总结,为什么要把心情弄得那么糟。难不成真的要像霍金那样,当期望值变为零的时候,才能奋起反抗现实的冷漠与残酷。目前我做不到,真的做不到!我必须对明天的第一缕阳光怀着期望,否则我也会在那坡道前抬不起前进的脚步。无法摆脱不安,因为自己的容身之所好像并不多。一直恐惧,明天是否还会拥有今天的一切。

不过不管怎么样,对于在三次元所收获的美好的东西,我也珍惜着。给予我这些东西的人,我也真诚地爱着你们。好的坏的,一起走过。好的坏的,一起仰望。

戴着面具行走着,不是我不尊重你而不把真实的一面展示,而是因为我内心的脆弱需要有些东西来掩盖,来保护着。不过不管大家怎么看,我总是相信自己我待人是真诚的。这也是一直所坚持的原则之一。

我喜欢拿着花洒洗澡,似乎觉得那样能将不如意的感觉,不好的东西冲干净,免得影响第二天,所以不管多冷,多懒,即使停水,也要想方设法地洗一次澡。而这时候也是思绪奔涌的时刻,一天的所见所闻,一天的喜怒哀乐都被消化。

新的一年里:目的性要更强,执行力要更强。

探求真理者不可心存傲慢!