背景

使用Python+flask编写的一个小项目,在本地开发完毕后,需要部署到测试服务器上,这时候犯难了,因为之前没部署过这块东西,所以各种百度,总算是部署成功了,也对这个项目进行了jenkins持续部署,这块以后有时间我会单独说一下
 

涉及的三方库

 pip install gunicorn

supervisor配置文件

因为我服务器安装了宝塔面板,所以使用了宝塔里面的supervisor插件来管理进程,涉及到需要新增一个supervisor的配置文件,这里贴一下我的配置
 [program:xxx-server] # 项目名称
command=/usr/local/python3/bin/gunicorn -c gun.py manage:app # 前面是gunicorn的绝对路径,后面的gun.py是gunicorn的配置文件, manage是你的flask项目启动文件名称
directory=/www/xxx-server # flask项目存放路径
autorestart=true
stdout_logfile=/www/server/log/mock-server.out.log # 日志
redirect_stderr=true
user=root
priority=

gun.py文件

上面提到了gun.py这个配置文件,我下面贴一下我的配置文件
 #!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2019/11/19 14:24
# @Author : Weiqiang.long
# @Site :
# @File : gun.py
# @Software: PyCharm
# @Description:
# import requests
import os
import platform
import gevent.monkey
import multiprocessing gevent.monkey.patch_all()
debug = True
loglevel = 'deubg'
# 服务地址(adderes:port)
bind = '0.0.0.0:8090' if platform.system() == 'Windows':
# win机器路径
log_path = os.path.join(os.path.dirname(__file__), 'log')
else:
# 服务器路径
log_path = '/log' # print(log_path)
pidfile = log_path + '/gunicorn.pid'
logfile = log_path + '/debug.log' # 启动的进程数(获取服务器的cpu核心数*2+1)
workers = multiprocessing.cpu_count() * 2 +1
worker_class = 'gunicorn.workers.ggevent.GeventWorker' threads = 20
preload_app = True
reload = True x_forwarded_for_header = 'X-FORWARDED-FOR'

supervisor启动项目

 # 启动所有服务
sudo supervisorctl start all # 启动单个服务
sudo supervisorctl start 服务名称 # 停止所有服务
sudo supervisorctl stop all # 重启所有服务
sudo supervisorctl restart all

参考来源:

 

flask项目部署到生产环境的方案的更多相关文章

  1. 使用gunicorn将django项目部署到生产环境的子目录下,在nginx后端获取客户真实IP地址

    生产环境有时,并不是为了一个项目而存在的.毕竟,域名是比较稀有的. 今天遇到这个问题,解决了.作个记录. 并且,如果将django项目部署在Nginx后面,那如何获取用户真实的IP地址呢? 下面就来解 ...

  2. Laravel 5 项目部署到生产环境的实践

    作者:mrcn链接:https://www.zhihu.com/question/35537084/answer/181734431来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  3. Greenplum 数据库安装部署(生产环境)

    Greenplum 数据库安装部署(生产环境) 硬件配置: 16 台 IBM X3650, 节点配置:CPU 2 * 8core,内存 128GB,硬盘 16 * 900GB,万兆网卡. 万兆交换机. ...

  4. flask项目部署到阿里云 ubuntu16.04

    title: flask项目部署到阿里云 ubuntu16.04 date: 2018.3.6 项目地址: 我的博客 部署思路参考: Flask Web开发>的个人部署版本,包含学习笔记. 开始 ...

  5. 转_Greenplum 数据库安装部署(生产环境)

    Greenplum 数据库安装部署(生产环境) 硬件配置: 16 台 IBM X3650, 节点配置:CPU 2 * 8core,内存 128GB,硬盘 16 * 900GB,万兆网卡. 万兆交换机. ...

  6. 7. 单机版Redis的安装以及Redis生产环境启动方案

    安装单机版redis redis的生产环境启动方案redis cli的使用 1. 安装单机版redis 大家可以自己去官网下载,当然也可以用课程提供的压缩包 wget http://downloads ...

  7. 把Sharepoint Desinger 工作流部署到生产环境

    下面是比较简单的方法,把Designer工作流从开发环境部署到生产环境. 在Sharepoint Desinger 2013 中点击需要部署的工作流. 点击保存,发布. 点Export to Visi ...

  8. Node JS后端项目开发与生产环境总结

    原文地址:Node JS后端项目开发与生产环境总结 Node JS常用后端框架有express.koa.sails.国产框架有个egg js,已经在cnode投入生产了,还有个think js,类似t ...

  9. (转) 将ASP.NET Core应用程序部署至生产环境中(CentOS7)

    原文链接: http://www.cnblogs.com/ants/p/5732337.html 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Cor ...

随机推荐

  1. JS中的同步异步编程

    首先我们先看看同步与异步的定义,及浏览器的执行机制,方便我们更好地理解同步异步编程. 浏览器是多线程的,JS是单线程的(浏览器只分配一个线程来执行JS)   进程大线程小:一个进程中包含多个线程,例如 ...

  2. 请问1^x+2^x+3^x+\cdots +n^x的算式是什么呢?

    目录 总结 请问\(1^x+2^x+3^x+\cdots +n^x\)的算式是什么呢? 一.求和式\(\sum\limits_{i=1}^n{i}\)的算式 如何证明求和简式\(\sum_{i=1}^ ...

  3. NFS服务部署

      NFS介绍 NFS基本概述 NFS(Network File System)网络文件系统主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录.NFS系统和Windows网络共享.网络驱动器 ...

  4. Android多线程之(一)——View.post()篇

    前言 提起View.post(),相信不少童鞋一点都不陌生,它用得最多的有两个功能,使用简便而且实用: 1)在子线程中更新UI.从子线程中切换到主线程更新UI,不需要额外new一个Handler实例来 ...

  5. luogu P1840 Color the Axis_NOI导刊2011提高(05)|并查集

    题目描述 在一条数轴上有N个点,分别是1-N.一开始所有的点都被染成黑色.接着我们进行M次操作,第i次操作将[Li,Ri]这些点染成白色.请输出每个操作执行后剩余黑色点的个数. 输入格式 输入一行为N ...

  6. JsonSchmea用法

    JsonSchmea用法 简介 JSON Schema是基于JSON格式,用于定义JSON数据结构以及校验JSON数据内容. JSON Schema官网地址:http://json-schema.or ...

  7. OSS 对象存储的那些事AmazonS3简单使用

    对象存储是根据AmazonS3来做的封装,主要功能 :文件的上传下载 生成链接 对图片的处理 查看桶内对象等一系列的操作. 本文主要做的是文件的上传下载生成链接以及前期的准备工作 以springboo ...

  8. iOS 网络基本剖析

    一.网络通信的本质 数据传输,数据交换 Client     <======>  服务器 二.HTTP.TCP,IP.UDP.Socket关系刨析 Socket:套接字,是一个用于网络传输 ...

  9. Prometheus笔记(二)监控go项目实时给grafana展示

    欢迎加入go语言学习交流群 636728449 Prometheus笔记(二)监控go项目实时给grafana展示 Prometheus笔记(一)metric type 文章目录 一.promethe ...

  10. [TimLinux] Python3.6 异常继承关系

    Python3.6 异常继承结构 object └── BaseException ├── Exception │   ├── ArithmeticError │   │   ├── Floating ...