zoukankan      html  css  js  c++  java
  • 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: 有时间研究一下自动启动项目

  • 相关阅读:
    chrome手动同步书签
    MySQL(5.6/5.7版本)卸载方法
    Windows 搭建IIS+PHP+MySQL环境
    按照innode删除结点
    wsl区分大小win10不区分大小写解决方案
    Docker容器里的centos疑难杂症
    [UGUI]源码调试和修改
    [UnityAPI]EditorWindow类 & Editor类
    [UnityAPI]Selection类
    [Lua]require
  • 原文地址:https://www.cnblogs.com/songliquan/p/10892790.html
Copyright © 2011-2022 走看看