Nginx

無法讀取文件並返回其結果 nginx

  • March 25, 2018

使用lua-nginx-module。而且我無法完成要修改文件(touch.txt)的mtime的事情。

我嘗試使用..

os.execute(“touch /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;
}

我在瀏覽器中看到返回的時間 ie ( Hello,world! '.. time) 正確,但 mtimetouch.txt保持不變。

這裡的任何事情..我需要照顧。

   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
   }

引用自:https://serverfault.com/questions/904471