【python】flask+nginx配置
背景信息
- 有wordpress服务A
- 有flask服务B, gunicorn启动,8个进程
- 用nginx代理,实现访问A然后跳转到B
问题
- flask服务B上有文件上传操作,用nginx后发现无法上传大文件。
解决: nginx代理配置中有文件大小限制client_max_body_size,修改即可
location /test{
proxy_pass http://127.0.0.1:8001/test;
proxy_redirect off;
proxy_set_header Host localhost;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 100m;
}
访问wordpress的1.1.1.1/a,通过nginx跳转到flask服务的127.0.0.1/b,127.0.0.1/b上有一个上传按钮,上传文件应该交由127.0.0.1/b的post处理,但由于nginx转发,跳转到了1.1.1.1/b post,结果就会找不到对应的服务接口
解决:将flask和wordpress上的url使用相同的名字。wordpress 1.1.1.1/a -> flask 127.0.0.1/a -> wordpress 1.1.1.1/a post -> flask 127.0.0.1/a post
(这个方法不好,因为flask和wordpress耦合了,但是我没有找到正确的解决方案,只好临时用这个了)flask中有全局变量,通过nginx跳转后,原本的请求可能由另一个进程接管,导致无法获取正确的信息。
解决:用session解决,session中的变量是跨进程共享的,把状态信息放入session变量即可。此外,session也解决了用户识别问题,避免了多个用户同时请求导致的冲突。
【python】flask+nginx配置的更多相关文章
- windows下python+flask环境配置详细图文教程
本帖是本人在安装配置python和flask环境时所用到的资源下载及相关的教程进行了整理罗列,来方便后面的人员,省去搜索的时间.如果你在安装配置是存在问题可留言给我. 首先罗列一下python+fla ...
- 在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境 项目运行环境 阿里云(单核CPU, 1G内存, Ubuntu 14.04 x64 带宽1Mbps), 具体购买和ssh连接阿 ...
- Windows + Python + flup + flask + fastcgi + Nginx配置
Nginx配置 # HTTPS server { listen ssl; server_name kvaccount.xx.io; ssl_certificate "C:/xx/conf/s ...
- Flask+Nginx+uWSGI在Ubuntu服务器上的配置
Flask+Nginx+uWSGI在Ubuntu服务器上的配置 Step1 安装系统环境 Ubuntu服务器选择是阿里云的ECS服务,ECS提供单独的内存\CPU\带宽\存储规格可以选择,并且提供合适 ...
- 使用Nginx+Uwsgi部署Python Flask项目
第一次用Flask做Web(也是第一次用Python做Web),在部署的时候遇到了不少问题,现在将过程就下来,供在这方面也有疑惑的人参考.(PS:使用Apache+mod_wsgi部署模式的可以参考另 ...
- nginx uwsgi flask相关配置
一.安装Nginx 在 /home/download下下载压缩包 wget https://nginx.org/download/nginx-1.12.2.tar.gz 解压缩 tar zxvf ng ...
- flask + nginx + uwsgi + ubuntu18.04部署python restful接口
目录 参考链接 效果展示 一.准备工作 1.1 可运行的python demo: 1.2 更新系统环境 二.创建python虚拟环境 三.设置flask应用程序 四.配置uWSGI 五.设置系统启动 ...
- flask,gunicorn,supervisor,nginx配置服务器接口
1,申请阿里云主机 2,apt-get update 3,apt-get install pip 4,pip install virtualenv 5,virtualenv venv 6,source ...
- python Django Nginx+ uWSGI 安装配置
环境: CentOS7.python-3.5.3.Nignx 1.10.3 .Django 1.10.6.uWSGI 2.0.14 django项目目录:/var/webRoot/p1 项目结构: 基 ...
随机推荐
- Java canlendar task
DayPilot for Java - Calendar, Scheduler and Gantt Chart Componentshttps://java.daypilot.org/ AJAX Sc ...
- 13点值得我们注意的谷歌的JavaScript编写风格
对于编写有效的JavaScript来说,这些并不是硬性的.快速的规则,而只是在源文件中维护一致的.吸引人的样式选择的规则.这对于JavaScript来说尤其有趣,它是一种灵活且多变的语言,允许多种风格 ...
- js对象取值的两种方式
:"李四"}; var v1 = obj.name1; //张三, 使用点的方式 //报错,不能使用点的方式 ]; //李四,使用中括号的方式 var key = "na ...
- 如何使用Excel表格状态栏动态查看统计
该文是以前的博文,本文中有一列是快递单号,其实这一列根本不需要,一般快递几天就到,在excel表中存快递单号,纯属浪费时间,快递单号一般都会有客户留存联,而且也登入了网上的表格,所以个人用的excel ...
- CSS3文字、背景与列表
一.文本相关属性 1.字体 (1)字体设置 在HTML中,字体通过<font face="字体名称">来设置.在CSS中字体通过font-family属性来控制,里面可 ...
- 洛谷P1188PASTE题解
题目 这个题主要是一个考分类讨论的模拟题,做这个提的时候首先要脑子清醒,才可以清楚地写出怎么模拟来. \(Code\) #include <iostream> #include <a ...
- 继续沿用旧的网络访问模式Apache HTTP 客户端,防止Android9闪退
注意位置,在application 节点里面.
- 关于ehcache缓存中eternal及timeToLiveSeconds和timeToIdleSeconds的说明
今天发现开发项目启动时有警告提示:cache 'xx' is set to eternal but also has TTL/TTI set,发现是ehcache缓存设置冲突 所以决定在此mark一下 ...
- JS学习笔记Day10
一.设置或获取元素对象中(标签中)的属性和自定义属性 对象.属性 对象['属性'] 对象.getAttribute('属性名') 对象.setAttribute('属性名','属性值'); 对象.re ...
- 一.Django 学习 —— 环境搭建
Ⅰ.前言 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的框架模式,即模型M,视图V和控制器C. 我们先搭建一个Django项目运行的环境. 需要准备的有: 1- Py ...