失败版本:flask+uwsgi

ini配置文件

[uwsgi]callable = app      ;//程序内启用的application变量名home = /home/jcuan/code/python/project/venv    ;如果是venv环境下,一定要设置路径pythonpath = /home/jcuan/code/python/project/venv    ;可以设置pythonpath的路径,flask命令行会自动设置一些路径(比如我的自动设置了: /home/jcuan/code/python/project/venv),注意这个不会socket = /tmp/uwsgi.sock    ; 启动程序时所使用的地址和端口,可以采用端口或者unix socketwsgi-file = /home/jcuan/code/python/project/venv/application/__init__.py      ;flask程序的启动文件,这个文件里不需要有app.run(),有了反而会出错processes = 4     ;//处理器个数threads = 2     ;//线程个数

不知道是有什么特殊原因:1,callable不能在ini文件里配置,不管配置什么都是默认的application;2,chmod-sock在ini里配置无效
运行

uwsgi --plugin python --ini  uwsig.ini --callable app --chmod-sock=666

nginx的文件配置大概如下(location是/,不会分别配置。。):

location / {include uwsgi_params;uwsgi_pass unix:/tmp/uwsgi.sock;
}

虽然可以运行,不过我在__init__.py里面import的视图函数统统没有起作用,虽然绑定了,但是访问对应的url是404,只有定义在__init__.py的视图函数才起作用

成功版本flask+gunicorn

gunicorn.conf的基本配置,注意字符串都要用引号包含起来
注意这个地方也有坑,不要把sock文件放在/tmp目录下,最好放/run等目录下,因为服务器的原因,/tmp目录下文件可能只对特定的服务可见。

your system probably using namespaced temporary directories, which means every service can only see its own files in /tmp

workers = 3     #进程数
timeout = 30      #超时
bind = 'unix:/tmp/flask.socks'  #nginx监听位置
backlog = 1000  #监听队列长度

然后又进入了一个坑,nginx那边的超简化版配置应该像这样

server {listen 80;server_name 127.0.0.1;location / {include proxy_params;    #这里边设置了一些代理需要转换的头,比如得到真实ip, proxy_set_header X-Real-IP $remote_addr; proxy_pass http://unix:/tmp/flask.sock;        #很奇葩,我一直写的是unix:/tmp/flask.sock,然后一直都不对}
}

运行l类似下边的命令就可以了gunicorn --config application/gunicorn.conf application:app。application:我的应用所在包的名字,app,flask启动文件中Flask实例变量的名字

转载于:https://www.cnblogs.com/jcuan/p/6075333.html

python flask应用部署相关推荐

  1. 【基于Python+Flask项目部署系列--03】开发测试环境配置-基于Ubuntu16.04

    一.开发测试环境介绍 前提已经部署完[基于Python+Flask项目部署系列--02]Ubuntu16.04服务器安装.建议部署2套环境:开发测试环境+生产环境. 这篇文章主要讲解测试环境如何配置p ...

  2. python flask webapi_在将Python Flask webapi部署到azurep时遇到依赖性问题

    我试图将python flask webapi部署到azureportal,但是在安装依赖关系时遇到了问题,如下图所示. 我已经在我的azure web应用程序中添加了扩展-Python3.5.4 x ...

  3. Python Flask项目部署

    Python Flask项目部署 说明:本次安装为Centos7最小化环境下的安装 一.Python3.6安装 1.安装包下载 下载Python3.6(Python-3.6.7.tgz)的安装包. 2 ...

  4. python flask框架部署方法

    python flask框架部署方法) 链接: [link]https://dormousehole.readthedocs.io/en/latest/deploying/index.html#dep ...

  5. python flask api部署_使用flask开发api——部署flask,使用gunicorn+gevent模式的http server...

    使用flask开发api--部署flask,使用gunicorn+gevent模式的http server 用flask开发了服务端的api,记录部署上服务器的过程,以供后续使用. 安装python3 ...

  6. python flask web部署_webapp开发之使用apache部署python flask webapp

    · 生产环境所使用的python的版本,从cmd中进入python后,版本信息将打印在cmd中.本人使用的为32位的py3.5 on win32 下载Apache · 下载链接 · 选择apache版 ...

  7. python安装flask模块_python Flask模块部署

    python Flask模块部署 简介 python Flask作为python中的一个微框架,它提供了一个web应用后端处理的框架,通过Flask中封装好的api来进行网页的渲染.及定制api的实现 ...

  8. AWS China Elastic Beanstalk 填坑记(Python Flask)

    本文记述的事发生在2022年11月,环境是AWS China Region,不是AWS Gobal. Elastic Beanstalk简称EB. 尝试把一个Python Flask Web部署到El ...

  9. ci/cd heroku_在GitLab上设置CI / CD以在Heroku上部署Python Flask应用程序

    ci/cd heroku Recently I came across a challenge to deploy a Python Flask web application to Heroku. ...

  10. dockerfile构建一个(python+flask+html)镜像 + 上传到阿里云私有仓库 + 部署到k8s---全过程

    前言 因为之前根据一些网上的教程一个个部分实践过整个部署流程,但都是根据现有的程序/ymal文件等进行创建部署,未能根据自己特定的项目进行部署.因此,这篇博文,打算完整部署一个自己编写的python+ ...

最新文章

  1. Vim的行号、语法显示等设置(.vimrc文件的配置)以及乱码解决
  2. 控制科学对计算机能力的要求,0811控制科学与工程基本要求.pdf
  3. C++ Primer 5th笔记(chap 14 重载运算和类型转换)算术和关系运算符
  4. python编程思路不清晰_安利一波Python编程中非常实用的那些黑魔法
  5. mac 用户 文件夹 权限_这可能是 Mac 共享文件最详细的教程了
  6. Javascript 盲区和 操作实例 笔记
  7. LA 3644 易爆物 并查集
  8. 小程序云开发表单提交并在页面中获取数据
  9. 测试面试题 用例设计题目回答思路
  10. VUE引入JsBarcode组件异常记录
  11. SSM5.2版本整合
  12. 路由器和交换机哪个更好?路由器交换机怎么连接?
  13. vue实现下载excel表格俩种方式
  14. 趣味js之斗牛算法详解
  15. 【模型分享】全网质量最高最全《王者荣耀》角色3D模型独立角色
  16. aix java解压,AIX 7.1 jar unzip解压报错问题解决
  17. 前端开发实习面试题(CSS篇)
  18. 单片机c语言或运算,单片机avr c语言位运算 与或非 异或逻辑 运算介绍 详解
  19. Quartz组件介绍
  20. 分阶段性讲解房屋买卖纠纷中“卖方违约,买方要求继续履行合同”的可能性

热门文章

  1. python发送邮件程序
  2. mfc 添加变量出现灾难性故障_实验室近期论文:储罐灾难性失效事故的漫堤预测模型...
  3. 让计算机工作起来教学反思,计算机教学反思
  4. java参数化比特值,在Java中使用泛型的可选参数化
  5. vs python调试配置_想用Python编程却不知如何下手?一篇搞定编程准备工作
  6. java前端 js弹出框_前端js弹出框组件使用方法
  7. python怎么让图片旋转45度_是否有方法将matplotlib打印旋转45度?
  8. mysql safe 模式_MYSQL的安全模式:sql_safe_updates介绍
  9. mysql 要完 知乎_必知必会 MySQL笔记(未完)
  10. Python并发编程之多进程(实战)