正文

Nginx如何安装配置Lua支持(linux nginx安装及配置教程)新鲜出炉

文章摘要

这篇文章介绍了如何在Nginx中集成Lua脚本模块,包括从下载Nginx源码到配置服务器、处理共享库问题等操作。文章详细描述了安装步骤,如通过`wget`下载源码、解压、编译以及如何在配置文件中使用Lua模块(如`--with-http_lua_module`)。此外,文章还展示了如何在Nginx中添加Lua脚本,并通过配置文件`content_by_lua_block`实现简单的HTTP响应。文章还提到了一个常见问题——共享库路径错误,并提供了通过软链接解决的方法。最后,文章总结了整个配置过程,并强调了使用Lua模块可以简化Nginx配置的便捷性。

[root@nginx_lua src]# wget http://nginx.org/download/nginx-1.14.2.tar.gz [root@nginx_lua src]# tar xf nginx-1.14.2.tar.gz [root@nginx_lua src]# cd nginx-1.14.2 [root@nginx_lua nginx-1.14.2]# https://www.jb51.net/article/configure –prefix=/soft/nginx –with-http_ssl_module –with-http_stub_status_module –with-http_dav_module –with-file-aio –with-http_dav_module –add-module=https://www.jb51.net/ngx_devel_kit-0.2.19/ –add-module=https://www.jb51.net/lua-nginx-module-0.10.13/ [root@nginx_lua nginx-1.14.2]# make && make install [root@nginx_lua nginx-1.14.2]# ln -s /soft/nginx/sbin/nginx /usr/bin/nginx [root@nginx_lua conf]# vim nginx.conf #简单配置写nginx测试Nginx是否已经支持Lua(lua指令方式) … server { location /test_lua { default_type text/html; content_by_lua_block { ngx.say(“Hello Lua!”) } } … } #lua指令方式 #在server 中添加一个localtion location /hello { default_type ‘text/plain’; content_by_lua ‘ngx.say(“hello, lua”)’; } #lua文件方式 #在server 中添加一个localtion location /lua { default_type ‘text/html’; content_by_lua_file conf/lua/test.lua; #相对于nginx安装目录 } #test.lua文件内容 ngx.say(“hello world”); //建立软连接,如果不建立软链接,则会出现share object错误 [root@nginx_lua conf]# nginx -t /soft/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory [root@nginx_lua conf]# [root@nginx_lua lib64]# ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2 [root@nginx_lua lib64]# ll libluajit-5.1.so.2 lrwxrwxrwx 1 root root 33 Dec 21 20:52 libluajit-5.1.so.2 -> /usr/local/lib/libluajit-5.1.so.2 [root@nginx_lua lib64]# #//加载lua库,加入到ld.so.conf文件(暂时不执行这一步) #[root@nginx_lua nginx-1.14.2]# echo “/usr/local/LuaJIT/lib” >> /etc/ld.so.conf [root@nginx_lua conf]# nginx -t nginx: the configuration file /soft/nginx/conf/nginx.conf syntax is ok nginx: configuration file /soft/nginx/conf/nginx.conf test is successful [root@nginx_lua conf]# nginx -s reload