首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从python模块调用一个具有gunicorn的烧瓶应用程序

从python模块调用一个具有gunicorn的烧瓶应用程序
EN

Stack Overflow用户
提问于 2018-01-29 22:05:58
回答 1查看 1.2K关注 0票数 0

我想从CLI启动一个Web应用程序,就像这样:

代码语言:javascript
复制
 user@server:~$ my_app web --start

Web项目是用水瓶座开发的,我想要在deamon模式下执行带有gunicorn的web应用程序。

但我不明白如何从python模块执行gunicorn命令。该命令是:

代码语言:javascript
复制
user@server:~$ gunicorn --bind 0.0.0.0:8000  wsgi:app --daemon

我认为以下功能:

代码语言:javascript
复制
def start_server():
     command = "gunicorn --bind 0.0.0.0:8000 wsgi:app --daemon"
     subprocess.call(command, shell=True)

很明显它不起作用。我想要一些东西,让我可以控制服务器(启动,状态,停止等)从一个python模块。有可能吗?

项目结构:

代码语言:javascript
复制
├── my_app
│   ├── cli
│   │   ├── cli_app.py
│   │   ├── __init__.py
│   ├── helpers.py
│   ├── __version__.py
│   └── web
│       ├── __init__.py
│       ├── services.py
│       ├── static/
│       ├── templates/
│       │   ├── index.html
│       ├── services.py
│       ├── wsgi.py
EN

回答 1

Stack Overflow用户

发布于 2018-02-12 17:53:56

我用os.chdir(here)解决了这个问题,其中这里是是wsgi模块所在的当前目录。

如下所示(server.py):

代码语言:javascript
复制
import os
import subprocess

here = os.path.abspath(os.path.dirname(__file__))

def start_server():
     os.chdir(here)
     command = "gunicorn --bind 0.0.0.0:8000 wsgi:app --daemon"
     subprocess.call(command, shell=True)

目录结构是:

代码语言:javascript
复制
├── my_app
│   ├── cli
│   │   ├── cli_app.py
│   │   ├── __init__.py
│   ├── helpers.py
│   ├── __version__.py
│   └── web
│       ├── __init__.py
│       ├── services.py
│       ├── static/
│       ├── templates/
│       │   ├── index.html
│       ├── server.py
│       ├── wsgi.py
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48510770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档