2016-10-12 14 views
0

は、私は逆nginxのプロキシがnginx.configに以下を実行しています7とnginxとluaの設定を/etc/nginx/にして、私が私のLUAパッケージのパスに与えるもの。私はnginxのを実行すると、それは私がxxxのサービスを実行すると、それは次のように失敗するLUAファイルをインポートするために正常に動作します(lua_package_pathでそれを見つける)が、何らかの理由:nginxののaccess_by_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見える何らかの理由**ファイル "/usr/share/nginx/nginx_v4.lua":

を/ usr/share/nginxの/ nginx_v4を開くことができません実際に/ nginxのは/ etcにあるLUAファイルのための/共有/ nginxの。ルア:そのようなファイルやディレクトリはありません**

何故でしょうか?これはパスをハードコードするまで機能しません。

答えて

2

lua_package_pathは、luaがライブラリを探す場所で、nginxがluaファイルを探す場所ではありません。

'require_ nginx_v4' 'を使用して' access_by_lua_file 'を' access_by_lua 'に変更するか、Luaファイルの場所を変更するか、nginxのパスで' -p/path/'スタートアップを使用してconfigを探しますパラメータ。

関連する問題