Docker danriti/nginx-gunicorn-flask 使用
现成的镜像,已经配置好nginx-gunicorn-flask,可直接部署flask 项目
- 直接部署flask项目
安装镜像
- 如果默认源比较慢,可以换成163镜像源
http://hub-mirror.c.163.com docker pull danriti/nginx-gunicorn-flask
运行镜像,将flask项目映射到容器
- 映射项目到容器
/usr/share/nginx/www/这个是nginx默认的目录- -P --expose 90 这里指定容易要映射出来的端口为80
docker run -it -P --expose 80 --name gunicorn1 -v $PWD/flaskDemo2:/usr/share/nginx/www/flaskDemo2 danriti/nginx-gunicorn-flask
- 映射日志到本机
/var/log/nginx这个是nginx日志目录,可以映射出来docker run -it -P --expose 80 --name gunicorn2 -v $PWD/flaskDemo2:/usr/share/nginx/www/flaskDemo2 -v $PWD/log:/var/log/nginx danriti/nginx-gunicorn-flask
进入镜像
docker exec -it gunicorn1 bash查看flask项目
cd /usr/share/nginx/www/flaskDemo2如果一切正常,可以直接运行项目,但是外部不能直接访问
手动运行项目
gunicorn -w 4 -b wsgi:app默认访问路径 http://127.0.0.1:8000/wsgi 是文件名,app是入口
app = Flask(__name__)
# -*- coding:utf-8-*-
# wsgi.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "name"
@app.route("/register")
def register():
return "hello register"
if __name__ == '__main__':
app.run()
配置nginx
- 如果要在外部访问,要配置nginx
/etc/nginx/sites-available/目录下有配置文件 flask.conf- 将80端口的访问转发到8000
server {
listen 80;
location / {
proxy_pass http://127.0.0.1:8000/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
手动运行项目
- 启动容器后,进入项目目录,手动运行项目就行
- gunicorn -w 4 -b wsgi:app
TODO: 有时间研究一下自动启动项目
Docker danriti/nginx-gunicorn-flask 使用的更多相关文章
- Docker构建nginx+uwsgi+flask镜像(二)
Dockerfile搭建环境并打包应用 在上一章Docker构建nginx+uwsgi+flask镜像(一)的学习中,我们学会用命令行一句一句在alpine环境中搭建nginx+uwsgi+flask ...
- Docker构建nginx+uwsgi+flask镜像(一)
前言 笔者之前是从事Java方面的工作,自从18年5月左右来到新的公司,接触到Python,被其简单优雅的语法风格深深吸引,同时,新公司也帮助笔者打开Docker世界的大门,让笔者体会到“一次打包,到 ...
- nginx + gunicorn + flask项目发布
程序安装(linux mint) gunicorn安装:pip install gunicorn nginx安装:sudo apt-get install nginx 配置 nginx默认配置信息在/ ...
- nginx+supervisor+gunicorn+flask
一. 更新系统 #yum -y install epel-release #yum clean all && yum makecache #yum -y update 二.安装pyth ...
- nginx+gunicorn/uwsgi+python web 的前世今生
我们在部署 flask.django 等 python web 框架时,网上最多的教程就是 nginx+gunicorn/uwsgi 的部署方式,那为什么要这么部署呢,本文就来系统地解释这个问题. 必 ...
- 利用DockerHub在Centos7.7环境下部署Nginx反向代理Gunicorn+Flask独立架构
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_165 上一篇文章:Docker在手,天下我有,在Win10系统下利用Docker部署Gunicorn+Flask打造独立镜像,是在 ...
- flask +gevent+nginx+Gunicorn+supervisor部署flask应用
上篇 可以完美部署flask ,但是视乎在结合gevent+apscheduler 实现异步非阻塞后台和定时任务的时候视乎不是那么完美.请教了前辈,决定使用flask+gevent+nginx+g ...
- Python3 Flask+nginx+Gunicorn部署(上)
前言:一般在本地运行flask项目通常是直接python3 文件名.py,然后打开:http://127.0.0.1:5000 查看代码结果 这次主要是记录flask在python3 环境结合ngin ...
- CentOS 下部署Nginx+Gunicorn+Supervisor部署Flask项目
原本之前有一部分东西是在Windows Server,但是由于Gunicorn不支持Windows部署起来颇为麻烦.最近转战CentOS,折腾一段时间,终于简单部署成功.CentOS新手,作为一个总结 ...
- 2020最新nginx+gunicorn+supervisor部署基于flask开发的项目的生产环境的详细攻略
本攻略基于ubuntu1804的版本,服务器用的华为云的服务器,python3(python2已经在2020彻底停止维护了,所以转到python3是必须的)欢迎加我的QQ6398903,或QQ群讨论相 ...
随机推荐
- [Asp.Net] MVC 和Web API Action 获取参数的区别
Asp.net MVC 和web api 的action 在获取从前台传入的数据是有很大不同 前台使用ajax的方式向后台发起post的请求 Content-Type:application/json ...
- shiro无法进入授权的方法org.crazycake.shiro.exception.PrincipalInstanceException: class java.util.HashMap must has getter for field: id
rg.crazycake.shiro.exception.PrincipalInstanceException: class java.util.HashMap must has getter for ...
- linux 命令——58 ss(转)
telnet 命令通常用来远程登录.telnet程序是基于TELNET协议的远程登录客户端程序.Telnet协议是TCP/IP协议族中的一员,是 Internet远程登陆服务的标准协议和主要方式.它为 ...
- ActiveX插件的Z-Index属性无效问题解决
在Web开发中我们经常通过z-index设置多个元素之间的层叠关系,这种方式在多数情况下很有效,但是如果遇到有窗体元素时这种方式常常显得无能为力,今天我们就一块看一下如何有效的解决这个问题. 在Web ...
- 【BZOJ1088】[SCOI2005] 扫雷Mine(分类讨论)
点此看题面 大致题意: 给你一个\(2*n\)的扫雷棋盘,现让你根据第二列的信息确定第一列有多少种摆法. 扫雷性质 听说这是一道动态规划+数学题. 其实,根据扫雷游戏的某个性质,只要确定了第一个格子是 ...
- linux用命令行运行matlab的.mat文件
入m文件所在目录后,运行 $ matlab -nodesktop -nosplash -r matlabfile 只用文件名matlabfile,不能添加.m
- 使用Scanner类获取键盘输入的会员卡号,并将该数据存储在变量中,输出这个变量的信息
package come.one01;import java.util.Scanner; // 导入Scanner类public class One03 { public static void ma ...
- C#事件与接口编程实例
很多初学c#的朋友对于事件与接口感到迷惑不解,不明白它们之间的关系,下面我就用实例来简单的分析讲解一下. 事件,用event修饰符来代表一个事件,我们要创建一个C#事件必须按以下顺序来扫行: 1,创建 ...
- Apache RocketMQ 正式开源分布式事务消息
近日,Apache RocketMQ 社区正式发布4.3版本.此次发布不仅包括提升性能,减少内存使用等原有特性增强,还修复了部分社区提出的若干问题,更重要的是该版本开源了社区最为关心的分布式事务消息, ...
- iOS常用第三方类库 Xcode插件
第三方类库(github地址): 1.AFNetworking 网络数据 https://github.com/AFNetworking/AFNetworking 2.SDWebImage 图 ...