git-ci连接wsgi

在这里插入图片描述
通过docker来启动程序

-docker run -d --restart always --name docker-name -v /etc/localtime:/etc/localtime:ro -p 8001:8000 containers.cisco.com /yare-core-yactrl:latest gunicorn --bind=0.0.0.0:8000 name.wsgi:application -w 4 -k gevent

-p:把容器的8000端口映射到宿主机8001
-v:主机的目录/etc/localtimet映射到容器的目录/etc/localtime:ro
–name:给容器起个名字docker-name
–restart:always 容器退出时总是重启
–privileged=true:执行容器内文件需要的权限
containers.cisco.com /yare-core-yactrl:latest指定镜像
gunicorn --bind: 绑定的端口
name.wsgi:application 执行代码里的wsgi文件
-w : 指定运行的子进程个数,加快api返回时间
-k :gevent每个进程也可以异步处理io请求

wsgi.py文件

import os
import sys

# python在import时需要搜索的目录结构,0的优先级最大
sys.path.insert(0, os.getcwd())

# router是一个py文件
from router import create_app

# application是create_app一个实例. 
application = create_app()

router.py文件

# app实例作为WSGI应用
# WSGI是web服务器网关接口,定义了Web服务器如何与Python应用程序进行交互,使得使用Python写的Web应用程序可以和Web服务器对接起来


from flask import Flask
app = Flask(__name__)
# 同时可以包含一些变量,例如数据库的用户名密码等信息

此处顺便整理下获取目录结构

'***获取当前目录***'
print os.getcwd()

'***获取上级目录***'
print os.path.abspath(os.path.dirname(os.getcwd()))

'***获取上上级目录***'
print os.path.abspath(os.path.join(os.getcwd(), "../.."))

蓝图BLUEPRINT

第一个参数:蓝图名
第二个参数:import_name
第三个参数:规则前缀,支持多个实例
url_prefix = blue_print('routers', 'templates', [
    [Ips, '/ip', '/ip/<action>'],
    [Community, '/community']
])
app.register_blueprint('BLUE_PRINT_PUBLIC', url_prefix=url_prefix)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值