Невозможно прочитать файл и возвращает его результат nginx
Использование lua-nginx-модуля. И я не могу выполнить вещь, в которой я хочу изменить mtime файла (touch.txt
).
Я пытался с помощью..
os.execute ("touch /app/directory/touch.txt")
и это
io.open ('/ приложение / каталог / touch.txt', 'ж'). закрыть ()
Но ничего из вышеперечисленного не работает..
Вот как выглядит мой 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
) в браузере правильно, но mtime touch.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
}