Nginx如何安裝配置Lua支持
Nginx安裝配置Lua支持
默認(rèn)情況下Nginx
不支持Lua
模塊,需要安裝LuaJIT
解釋器,并且重新編譯Nginx
,或者可使用國(guó)人開(kāi)發(fā)的openrestry
需要的模塊:LuaJIT
,Ngx_devel
和lua-nginx-module
Luajit官網(wǎng):https://luajit.org
1. 環(huán)境準(zhǔn)備
[root@nginx_lua ~]# yum install -y gcc gcc-c++ make pcre-devel zlib-devel openssl-devel
2. 下載最新的luajit
和ngx_devel_kit
以及lua-nginx-module
解壓
[root@nginx_lua ~]# mkdir -p /soft/src [root@nginx_lua ~]# cd /soft/src/ wget https://luajit.org/download/LuaJIT-2.0.4.tar.gz wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz wget https://github.com/openresty/lua-nginx-module/archive/v0.10.13.tar.gz
3. 解壓ngx_devel_kit
以及lua-nginx-module
[root@nginx_lua src]# tar xf v0.2.19.tar.gz [root@nginx_lua src]# tar xf v0.10.13.tar.gz
4. 編譯安裝LuaJIT
,即Lua
及時(shí)編譯器
[root@nginx_lua src]# tar xf LuaJIT-2.0.4.tar.gz [root@nginx_lua src]# cd LuaJIT-2.0.4/ [root@nginx_lua LuaJIT-2.0.4]# make && make install
5. 編譯安裝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]# ./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=../ngx_devel_kit-0.2.19/ --add-module=../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 #簡(jiǎn)單配置寫(xiě)nginx測(cè)試Nginx是否已經(jīng)支持Lua(lua指令方式) ... server { location /test_lua { default_type text/html; content_by_lua_block { ngx.say("Hello Lua!") } } ... } #lua指令方式 #在server 中添加一個(gè)localtion location /hello { default_type 'text/plain'; content_by_lua 'ngx.say("hello, lua")'; } #lua文件方式 #在server 中添加一個(gè)localtion location /lua { default_type 'text/html'; content_by_lua_file conf/lua/test.lua; #相對(duì)于nginx安裝目錄 } #test.lua文件內(nèi)容 ngx.say("hello world"); //建立軟連接,如果不建立軟鏈接,則會(huì)出現(xiàn)share object錯(cuò)誤 [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庫(kù),加入到ld.so.conf文件(暫時(shí)不執(zhí)行這一步) #[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
6. 測(cè)試安裝Lua成功
Nginx中配置lua腳本,訪問(wèn)url總是提示404
然后進(jìn)入nginx的error.log中發(fā)現(xiàn)了以下錯(cuò)誤日志
2022/06/09 18:31:46 [error] 24475#24475: *5 failed to load external Lua file "/root/lua/68/update_content.lua": cannot open /root/lua/68/update_content.lua: Permission denied, client: 112.4.254.104, server: localhost, request: "GET /api/update_content HTTP/1.1", host: "your host"
然后在nginx.conf中配置
user root root;
再重啟nginx即可
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- nginx+lua+redis實(shí)現(xiàn)降級(jí)的示例代碼
- nginx+lua+redis 灰度發(fā)布實(shí)現(xiàn)方案
- Nginx + lua 實(shí)現(xiàn)WAF的詳細(xì)過(guò)程
- Nginx Lua Waf 插件一鍵部署的操作示例
- Nginx Lua 根據(jù)參數(shù)請(qǐng)求轉(zhuǎn)發(fā)的實(shí)現(xiàn)
- Nginx Lua 緩存配置的實(shí)現(xiàn)步驟
- 使用nginx+lua進(jìn)行token鑒權(quán)的方法
- Nginx中使用Lua腳本與圖片的縮略圖處理的實(shí)現(xiàn)
- Nginx配置中使用Lua腳本的實(shí)現(xiàn)步驟
相關(guān)文章
Nginx請(qǐng)求轉(zhuǎn)發(fā)配置指南
Nginx 是一款高性能的 HTTP 和反向代理服務(wù)器,也是一個(gè) IMAP/POP3/SMTP 代理服務(wù)器,本文檔將介紹如何使用 Nginx 配置請(qǐng)求轉(zhuǎn)發(fā),并解釋一些常用的配置參數(shù),需要的朋友可以參考下2024-10-10Nginx反向代理springboot的jar包過(guò)程解析
這篇文章主要介紹了Nginx反向代理springboot的jar包過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Nginx應(yīng)對(duì)Permission denied和File not found的配置
這篇文章主要介紹了Nginx應(yīng)對(duì)Permission denied和File not found的錯(cuò)誤配置,文中介紹了兩個(gè)PHP程序使用時(shí)出現(xiàn)相關(guān)問(wèn)題后的解決案例,需要的朋友可以參考下2015-12-12簡(jiǎn)介Nginx服務(wù)器的Websockets配置方法
這篇文章主要介紹了簡(jiǎn)介Nginx服務(wù)器的Websockets配置方法,是使用Nginx服務(wù)器的網(wǎng)管的必備知識(shí)XD~需要的朋友可以參考下2015-06-06Nginx-rtmp實(shí)現(xiàn)直播媒體實(shí)時(shí)流效果
這篇文章主要介紹了Nginx-rtmp實(shí)現(xiàn)直播媒體實(shí)時(shí)流效果,文中給出了總體設(shè)計(jì)圖,為了整合平臺(tái),會(huì)自建RTMP流媒體服務(wù)器和使用云廠商SaaS的RTMP流媒體服務(wù),需要的朋友可以參考下2018-08-08詳解Nginx服務(wù)器中HTTP Headers相關(guān)的模塊配置使用
這篇文章主要介紹了詳解Nginx服務(wù)器中HTTP Headers相關(guān)的模塊配置使用,包括ngx_http_headers_module與它的增強(qiáng)版ngx_headers_more的配置使用講解,需要的朋友可以參考下2016-01-01nginx結(jié)合keepalived實(shí)現(xiàn)高可用的完整步驟
這篇文章主要給大家介紹了關(guān)于nginx結(jié)合keepalived實(shí)現(xiàn)高可用的完整步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用nginx具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12