【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 项目结构: 基 ...
随机推荐
- 开发神器之PHPstorm配置及使用
之前文章对于PHPstorm有了简单的介绍,作为一名合格的PHPer,一定要定制一个适合自己的IDE,然后开始我们的路途吧... 1. 为不同的项目选定PHP版本 我们经常会遇到这样的场景,不同的项目 ...
- centos7之sed和awk常用
sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令 ...
- python 条件分支与循环
一.if判断: 语法一: if 条件: # 条件成立时执行的子代码块 代码1 代码2 代码3 示例: sex='female' age=18 is_beautiful=True if sex == ' ...
- Docker批量打标签,批量推送
docker tag awmts- registry.gfstack.geo:/awmts- docker tag cts- registry.gfstack.geo:/cts- docker tag ...
- Linux后台执行的方法 - 关闭、退出不影响
=============================================================================================nohup c ...
- Java项目模板设置
/** * * @ClassName ${PACKAGE_NAME}.${NAME} * @description ${DESCRIPTION} * @author lisongyu * @creat ...
- luogu4705玩游戏
题解 我们要对于每个t,求一个(1/mn)sigma(ax+by)^t. 把系数不用管,把其他部分二项式展开一下: simga(ax^r*by^(t-r)*C(t,r)). 把组合数拆开,就变成了一个 ...
- django系列3 :创建模型
1创建模型 在我们简单的民意调查应用程序中,我们将创建两个模型:Question和Choice.A Question有问题和出版日期.A Choice有两个字段:选择的文本和投票记录.每个Choice ...
- mysql5.7 修改root密码无法登陆原因
升级的mysql5.7修改完root账户密码后仍然无法登陆,查阅资料可能和user表的plugin 字段为空有关. 1.首先将my.ini中加入在[mysqld]节点上加skip-grant-tabl ...
- 编写高质量的Python代码系列(一)之用Pythonic方式来思考
Python开发者用Pythonic这个形容词来描述具有特定风格的代码.这种风格是大家在使用Python语言进行编程并相互协作的过程中逐渐形成的习惯.那么,如何以改风格完成常见的Python编程工作呢 ...