第五章:项目部署篇

项目源码:github

uwsgi

[uwsgi]
# http 协议对客户端开发的端口号,客户端通过此端口访问 flask web 服务接口
http = 0.0.0.0:5000
# 使用真实IP
log-x-forwarded-for = true
# 应用目录,即python代码所在目录
pythonpath = /work/src
# web 应用python主程序
wsgi-file = /work/src/wsgi.py
# flask应用实例
callable = app
processes = $(PROCESSES)
threads = 2
enable-threads = true

pidfile = /tmp/uwsgi.pid
# 指定日志文件
logto = /data/log/webapp.log
# 输出到控制台
;log-master = true
harakiri = $(HTTP_TIMEOUT)
http-timeout = $(HTTP_TIMEOUT)

supervisor

[program:app]
command=uwsgi /work/flask-api/conf/uwsgi.ini
autostart=true
autorestart=true
# 将stderr的日志写入stdout日志文件中
redirect_stderr=true
stdout_logfile=/data/log/supervisor.log
# 杀死进程组包括子进程
stopasgroup=true
killasgroup=true

Dockerfile

FROM alpine:3.9

MAINTAINER LLC

COPY src /work/flask-api/src
COPY conf/uwsgi.ini /work/flask-api/conf/uwsgi.ini
COPY conf/supervisor.conf /etc/supervisord.d/flask-api.conf
COPY requirements.txt /tmp/requirements.txt

RUN echo "http://mirrors.aliyun.com/alpine/v3.9/main/" > /etc/apk/repositories && \
    echo "http://mirrors.aliyun.com/alpine/v3.9/community/" >> /etc/apk/repositories && \
    \
    apk add --no-cache gcc python3 python3-dev linux-headers libc-dev && \
    apk add --no-cache bash bash-doc bash-completion && \
    \
    pip3 install -r /tmp/requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com && \
    pip3 install supervisor flask uwsgi -i http://pypi.douban.com/simple --trusted-host pypi.douban.com && \
    \
    echo_supervisord_conf > /etc/supervisord.conf && \
    echo "[include]" >> /etc/supervisord.conf && \
    echo "files = /etc/supervisord.d/*.conf" >> /etc/supervisord.conf && \
    \
    rm -rf /var/cache/apk/* && \
    rm -rf ~/.cache/pip

ENTRYPOINT ["supervisord", "-n","-c", "/etc/supervisord.conf"]

docker-compose:

version: 2
services:
  flask-api:
    image: flask-api:v1
    container_name: flask-api
    restart: always
    privileged: true

    volumes:
      - "./log:/data/log/"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

llc的足迹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值