Tag: 工gunicorn

为使用AWS,Flask和Docker的移动应用程序的后端devise寻求build议

我是新手后端开发人员,目前面临为社交移动应用程序创build后端的任务,该应用程序将存储用户和关注者信息以及用户数据(例如封面图片和个人资料照片)等信息。 我一直在使用Flask来路由HTTP请求,并在MySQL中本地处理CRUD操作。 在我尝试在AWS上部署的第一步,我一直在面对后端的整体devise方面的许多难题。 架构层 – 我最近已经接触到三层架构的后端,我不确定他们在当前“无服务器”部署时代的互操作性。 如果我打算使用CORS将用户数据存储在S3存储桶中,那么是否需要像Nginx这样的反向代理和像Gunicorn这样的服务? CORS在安全方面真的很糟糕,如果有的话,我该怎么做才能改进呢? Docker数据卷 – 我想要部署一个Docker容器作为持久数据的主要来源,而不是使用AWS RDS实例,以便按照我的指示保持内部实现。 如何通过这种方法确保可扩展性,并在访问或写入数据库时​​集成负载均衡? AWS的负载均衡服务是否严格要好,我应该打破保持内部信息的原则? 我如何处理迁移和未来的部署? 我借此机会学习尽可能多的后端开发技术,所以任何build议或指导将不胜感激。 非常感谢!

为什么我的gunicorn Python / Flask工人退出信号术语?

我有一个Python / Flask Web应用程序,我通过Gunicorn在Amazon ECS的Docker镜像中进行部署。 一切正常,然后突然,包括最后一次成功的请求,我看到这在日志中: [2017-03-29 21:49:42 +0000] [14] [DEBUG] GET /heatmap_column/e4c53623-2758-4863-af06-91bd002e0107/ADA [2017-03-29 21:49:43 +0000] [1] [INFO] Handling signal: term [2017-03-29 21:49:43 +0000] [14] [INFO] Worker exiting (pid: 14) [2017-03-29 21:49:43 +0000] [8] [INFO] Worker exiting (pid: 8) [2017-03-29 21:49:43 +0000] [12] [INFO] Worker exiting (pid: 12) [2017-03-29 21:49:43 +0000] [10] [INFO] Worker exiting […]

在localhost上使用SSL运行gunicorn? (与docker)

我正在Docker中本地开发一个应用程序,它要求ssl与API端点一起工作,而且我一直无法使这些参数正常工作: gunicorn -c "python:config.gunicorn" –reload "dataexplorer.app:create_app()" –timeout 3600 –workers=5 –certfile=/ssl/registry.crt –keyfile=/ssl/registry.key –ca-certs=/ssl/ca.cert –ssl-version=3 Docker找不到这些证书。 所以我的问题是:gunicorn在哪里寻找这些certfiles? 他们怎样才能生成?

如何在docker上运行gunicorn

当docker启动时,我有两个依赖于彼此的文件。 1是一个烧瓶文件,一个是具有几个function的文件。 当docker启动时,只有函数文件会被执行,但是它会从flask文件中导入烧瓶variables。 例: Flaskfile import flask from flask import Flask, request import json _flask = Flask(__name__) @_flask.route('/', methods = ['POST']) def flask_main(): s = str(request.form['abc']) ind = global_fn_main(param1,param2,param3) return ind def run(fn_main): global global_fn_main global_fn_main = fn_main _flask.run(debug = False, port = 8080, host = '0.0.0.0', threaded = True) 主文件 import flaskfile #a few […]

docker桥和猎鹰gunicorn

我想运行EC2实例在猎鹰和gunicorn简单的API构build。 我想通过网桥(docker0 IP 172.17.0.1)从该主机上安装的docker容器访问该API。 我正在使用gunicorn命令运行API应用程序: gunicorn -b 172.17.0.1:8000 simple-api:api 我可以ping从docker的IP地址,我可以telnet到端口8000,但是当我执行curl POST命令我得到以下错误: < HTTP/1.1 404 Not Found * Server gunicorn/19.7.1 is not blacklisted < Server: gunicorn/19.7.1 < Date: Tue, 23 May 2017 08:26:01 GMT < Connection: close < content-type: application/json; charset=UTF-8 < content-length: 0 < * Closing connection 0

如何用gunicorn和bokeh服务configurationNginx

我想提供一个使用我的本地networking上的服务器的embedded式散景服务的应用程序。 为了说明,我使用了散景服务示例和泊坞窗图像来复制服务器。 Docker镜像运行Nginx和Gunicorn。 我认为有一个问题,我的nginxconfiguration路由请求到/ bkapp uri。 我已经详细解决了这个问题,并提供了以下git仓库中的所有源代码 我已经开始关于散景谷歌组的讨论 单容器 为了降低在自己的容器中运行nginx的复杂性,我构build了这个图像,它运行在与web应用程序相同的容器中的nginx 安装 注意:我正在使用Docker版本17.09.0-ce 下载或克隆回购,并导航到这个目录(single_container)。 # as root docker build -f Dockerfile -t single_container . build立 在新容器中启动terminal会话 # as root docker run -ti single_container:latest 在新的容器中启动nginx nginx 现在开始gunicorn gunicorn -w 1 -b :8000 flask_gunicorn_embed:app 开始 在一个单独的terminal(在主机上)find您正在运行的single_container容器的IP地址 #as root docker ps # then do copy CONTAINER ID and inspect […]

docker工无法访问主机中的gunicorn服务资源

我加载了一个简单的docker ubuntu镜像。 启动容器。 在该容器中安装curl。 在docker的主机。 我写了两个基于python的web服务器。 一个基于SimpleHTTPServer(托pipe在端口4000上)和一个基于猎鹰(托pipe在5000上的gunicorn)。 基于python的web服务器可以从容器shell访问: root@430a51680859:/# curl http://172.17.0.1:4000 <!DOCTYPE> <html> <head> <title>Hello World</title> </head> <body> <h1>Welcome</h1> <p>Hello World</p> </body> </html> 但是这个炮弹简直就失败了: root@430a51680859:/# curl http://172.17.0.1:5000/quote curl: (7) Failed to connect to 172.17.0.1 port 5000: Connection refused

Docker和Nginx的proxy_pass之间的容器

我正在尝试运行Docker,Nginx,Gunicorn和Django的configuration。 目前我成功地设法使用这个命令来运行我的Gunicorn和Django应用程序的容器: docker run –publish 8003:8000 user/app:latest 现在当我连接到本地主机:8003我看到我的应用程序正在运行。 在这一点上,我想在容器中设置我的Nginx指向这个应用程序,只要我浏览到localhost/app 我的Nginx.conf文件如下所示: … http { server { listen 80; location /app { proxy_pass http://127.0.0.1:8003; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } } … 我运行它: docker run –publish 80:80 user/nginx:latest 这是行不通的,我不能把我的头围绕这个,谢谢任何想法如何解决这个问题!

Flask,Gunicorn,NGINX,Docker:configurationSERVER_NAME和proxy_pass的方法是什么?

我使用Flask , gunicorn , NGINX和Docker来设置docker项目,如果我没有在Flask的setting.py文件中添加SERVER_NAME ,这个工作正常。 目前的configuration是: gunicorn gunicorn -b 0.0.0.0:5000 泊坞窗,compose.yml services: application: #restart: always build: . expose: – "5000" ports: – "5000:5000" volumes: – .:/code links: – db nginx: restart: always build: ./nginx links: – application expose: – 8080 ports: – "8880:8080" NGINX .conf server { listen 8080; server_name application; charset utf-8; location […]

docker nginx无法与web容器build立连接

我的dockernginx容器未能连接到gunicorn容器。 docker工作日志看起来像, dj | [2017-09-16 12:37:14 +0000] [22] [INFO] Starting gunicorn 19.7.1 dj | [2017-09-16 12:37:14 +0000] [22] [DEBUG] Arbiter booted dj | [2017-09-16 12:37:14 +0000] [22] [INFO] Listening at: http://127.0.0.1:8000 (22) dj | [2017-09-16 12:37:14 +0000] [22] [INFO] Using worker: sync dj | [2017-09-16 12:37:14 +0000] [25] [INFO] Booting worker with pid: 25 dj […]