17

現在、nginx を使用して Lua でプログラミングしています。Lua ファイルを作成し、.xml のディレクトリに配置し/usr/local/nginx/luaます。次に、nginx.conf次のような場所を書き込みます

location /lua {
    lua_need_request_body on;
    content_by_lua_file lua/test.lua;
}

Nginx からこの場所にアクセスすると、Lua スクリプトが実行されます。

Lua ファイルでは、通常、独自の Lua モジュールを含めて、検索パスを示すことができます

common_path = '../include/?.lua;'
package.path = common_path .. package.path

一般的な Lua プログラミングでは、相対パスは Lua ファイルからの相対パスです。

しかし、nginx では、相対パスは Nginx を起動したディレクトリからの相対パスです。

同様に、私はにいて/usr/local/nginxを実行するsbin/nginxと、Luapackage.pathでは/usr/local/include.

私がにいて/usr/local/nginx/sbinを実行する./nginxと、Lua ではpackage.pathになります/usr/local/nginx/include

nginxサーバーを起動するディレクトリは制限されるべきではないと思いますが、これを解決する方法がわかりません。

4

2 に答える 2