2016-10-12 13 views
0

У меня есть обратный прокси Nginx работает следующим в nginx.config:Nginx access_by_lua не уважая lua_package_path

http { 
    lua_package_path ";;$prefix/?.lua;?.lua;/etc/nginx/?.lua;/etc/nginx/resty/?.lua;"; 
} 

и затем многократным место на сервере:

# xxx SERVICE 
    location ~* ^/articles/?(.*) { 

     proxy_ignore_client_abort on; 

     include cors.conf; 

     access_by_lua_file nginx_v4.lua;} 

Im работает этот CentOS 7 с конфигурацией nginx и lua в /etc/nginx/ и тем, что я даю в моем пути пакета lua. Когда я бегу Nginx, он отлично работает, чтобы импортировать файлы Lua (найти его в lua_package_path), но по какой-то причине, когда я запустить службу ххх он терпит неудачу со следующим:

> 2016/10/11 16:37:21 [notice] 19300#0: getrlimit(RLIMIT_NOFILE): 
> 1024:4096 2016/10/11 16:37:21 [notice] 19301#0: start worker processes 
> 2016/10/11 16:37:21 [notice] 19301#0: start worker process 19303 
> 2016/10/11 16:37:25 [error] 19303#0: *1 failed to load external Lua 
> file "/usr/share/nginx/nginx_v4.lua": cannot open 
> /usr/share/nginx/nginx_v4.lua: No such file or directory, client: 
> 10.1.104.135, server: localhost, request: "GET /content/search?filter.search_string=goog HTTP/1.1", host: "x.x.x.x" 
> 2016/10/11 16:37:41 [info] 19303#0: *2 client closed connection while 
> waiting for request, client: 10.1.104.135, server: 0.0.0.0:443 

почему-то смотреть в/USR/доля/Nginx для файла Lua, который на самом деле лежит в/и т.д./Nginx: ** файл "/usr/share/nginx/nginx_v4.lua": не может открыть

/USR/доли/Nginx/nginx_v4. lua: Нет такого файла или каталога **

Любая идея, почему? Это не работает, пока я не закодирую путь.

ответ

2

lua_package_path где lua ищет библиотеки, а не где nginx ищет файлы lua.

Вы можете изменить 'access_by_lua_file' на 'access_by_lua' с 'require' nginx_v4 "', или вы можете изменить местоположение файла Lua, или путь nginx ищет конфигурацию с помощью' -p/path/'startup параметр.

 Смежные вопросы

  • Нет связанных вопросов^_^