在Lua中设置服务器端口的环境变量

我该如何在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

我做错了什么吗?我应该如何做到这一点?

点赞
用户3970701
用户3970701

答案已经在评论中发表了,但并没有被发表,所以我来发表一下。

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

如果您正在寻找模板引擎,我建议使用ERB。请参阅我对其他问题的答案此处

2018-10-15 15:13:47