Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx 用于在lua中设置服务器端口的环境变量_Nginx_Lua_Openresty - Fatal编程技术网

Nginx 用于在lua中设置服务器端口的环境变量

Nginx 用于在lua中设置服务器端口的环境变量,nginx,lua,openresty,Nginx,Lua,Openresty,如何使用lua通过环境变量设置端口 当前我的设置通过lua设置$port: server { set_by_lua_block $port { return os.getenv("PORT") listen $port; } 但是,这样做会产生以下错误: nginx: [emerg] host not found in "$port" of the "listen" directive in /usr/local/openresty/nginx/conf/

如何使用lua通过环境变量设置端口

当前我的设置通过lua设置
$port

server {

  set_by_lua_block $port {
    return os.getenv("PORT")

  listen       $port;

  }
但是,这样做会产生以下错误:

nginx: [emerg] host not found in "$port" of the "listen" directive in /usr/local/openresty/nginx/conf/nginx.conf:93

我做错什么了吗?我该怎么做呢?

答案已在评论中发布,但尚未发布,因此我将这样做以结束此评论


Listen不接受变量。您必须生成有效的配置文件 在启动nginx之前。使用任何模板工具(bash脚本、ansible、, (除此之外)

-


如果您正在寻找模板引擎,我推荐ERB。查看我对另一个问题的回答。

推测:在
返回后不需要一个右大括号来平衡左大括号吗?Listen不接受变量。在启动nginx之前,必须生成有效的配置。使用任何模板工具(bash脚本、ansible,任何其他工具)谢谢@AlexeyTen如果你想添加它作为答案,我会接受它。