我正在使用nginx-lua
模块和redis
来提供ember-app
的静态文件。 index
文件内容作为redis
存储在value
中,nginx
在(根)domain/IP
被点击时正确提供。
如果从链接打开login
页面,则会正确打开。但是当通过点击url栏或刷新页面直接打开时,nginx会给出404 not found
。
index
文件位于redis
,其余文件由js
上的已编译CDN
提供。
以下是nginx配置
server
{
listen 80 ;
server_name 52.74.57.154;
root /;
default_type text/html;
location = / {
try_files $uri $uri/ /index.html?/$request_uri;
set_unescape_uri $key $arg_index_key;
set $fullkey 'ember-deploy-cli:index:${key}';
content_by_lua '
local redis = require "resty.redis"
local red = redis:new()
red:set_timeout(1000) -- 1 sec
local ok, err = red:connect("127.0.0.1", 6379)
if not ok then
ngx.say("failed to connect: ", err)
return
end
if ngx.var.key == "" then
--ngx.say("No Argument passed")
local res, err = red:get("ember-deploy-cli:index:current-content")
ngx.say(res)
return
end
local res, err = red:get(ngx.var.fullkey)
if res == ngx.null then
ngx.say("Key doesnt exist ")
return
end
ngx.say(res)
';
}
答案 0 :(得分:4)
必须添加以下nginx位置块才能从redis提供的索引文件中提供子路由。可以找到详细说明和完整的nginx配置here。
for abc in test:
path = "s3a://abc/processing/test/raghu/*/"+abc+"/*"
push = sqlContext.read.json(path)
push.registerTempTable("push")
final = sqlContext.sql("SELECT unbase64(body.payload) as payload,"abc" as app-name from push")
final.write.parquet("/data/test/dev/raghu/SPARK-Test/")