我在EC2 Ubuntu实例上运行Flask Web服务器.目的是捕获传入POST的主体,将其写入本地文件,然后将该文件上载到S3.
代码基本上是:
@app.route('/', methods=['GET','POST'])
@app.route('/index.html', methods=['GET','POST'])
def index_home():
data = request.data
with open('test.json', 'w') as f:
f.write(data)
## Upload the stuff to S3
Run Code Online (Sandbox Code Playgroud)
当我在本地Flask webserver实例上运行它并从Postman发送带有json主体的POST时,它运行得很好.但是在EC2实例上,我在'test.json'文件中收到权限错误(根据apache error.log),导致页面加载时出现500错误.
我已经搜索谷歌和Stackoverflow(这是一个类似的问题,没有解决方案)无济于事.这似乎是一个简单的问题,但我已经尝试了一切,似乎无法让它工作:我已经将我的用户添加到www-data组,我已经更改了/ var/www文件夹和文件权限对于root,ubuntu(默认的EC2 Ubuntu用户)和我能想到的www数据的每个组合,我直接777目录......似乎没有任何效果.
显然,我是一个新手.是否有配置文件或需要调整才能使其工作的东西?