使用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
}