无法读取文件并返回其结果 nginx

无法读取文件并返回其结果 nginx

使用lua-nginx-模块. 我无法完成我想修改文件的 mtime 的事情(touch.txt)。

我尝试使用..

os.execute("触摸/app/directory/touch.txt")

和这个

io.open('/app/directory/touch.txt','w').close()

但以上方法均不起作用。

我的 nginx.conf 如下所示..

location / {
               auth_basic "Prohibited area";
               auth_basic_user_file /etc/apache2/.htpasswd;
               default_type 'text/plain';
               content_by_lua_block {
                  os.execute('/usr/bin/touch /app/directory/touch.txt')
                  local time = os.date("%m/%d/%Y %I:%M:%S %p")
                  ngx.say('Hello,world! '.. time)
               }
                proxy_redirect  off;
}

我看到浏览器中返回的时间(即Hello,world! '.. time)正确,但 mtimetouch.txt仍然保持不变。

这里有什么事情...都需要我去处理。

答案1

    location /lua {
      content_by_lua_block {
        local res = os.execute('/usr/bin/touch /tmp/touch.txt')
        local time = os.date("%m/%d/%Y %I:%M:%S %p")
        if res == 0 then
          ngx.header["Content-type"] = "text/plain"
          ngx.say('Hello,world! '.. time)
        else
          ngx.status = ngx.HTTP_NOT_FOUND
          ngx.header["Content-type"] = "text/plain"
          ngx.say('The world is doomed '.. time)
          ngx.say('because of  ' .. res)
        end
    }

相关内容