背景

使用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. Identityserver4配置证书

    IS4中如果token的类型是JWT,则需要使用RS256算法生成非对称签名,这意味着必须使用私钥来签名JWT token,并且必须使用对应的公钥来验证token签名,即验证token是否有效.使用R ...

  2. C#-面向对象:争议TDD(测试驱动开发)

    ----------------------- 绝对原创!版权所有,转发需经过作者同意. ----------------------- 在谈到特性的使用场景时,还有一个绝对离不开的就是 单元测试 按 ...

  3. 【SpringSecurityOAuth2】源码分析@EnableOAuth2Sso在Spring Security OAuth2 SSO单点登录场景下的作用

    目录 一.从Spring Security OAuth2官方文档了解@EnableOAuth2Sso作用 二.源码分析@EnableOAuth2Sso作用 @EnableOAuth2Client OA ...

  4. webpack4.0(三)--动态生成html

    webpack4.0--动态生成html 前言: webpack-dev-server实现了自动编译刷新浏览器,让编译出来的bundle.js托关于服务器根路径(电脑内存)中去.使用--content ...

  5. SpringBoot系列之集成Druid配置数据源监控

    SpringBoot系列之集成Druid配置数据源监控 继上一篇博客SpringBoot系列之JDBC数据访问之后,本博客再介绍数据库连接池框架Druid的使用 实验环境准备: Maven Intel ...

  6. Orleans 初接触(一) 入门例子

    [返回导航] 在简单了解了Orleans 之后我们可以通过几个例子去加深印象 一.Orleans入门例子 这个例子是跟着<Orleans入门例子>(https://www.cnblogs. ...

  7. vue 点击修改样式

    1.页面加载默认一个初始的isact,让第二个div.f具有一个on的类:在点击的时候,传入一个值给data.isact <template> <nav class="cl ...

  8. 关于async/await、promise和setTimeout执行顺序

    先来一道关于async/await.promise和setTimeout的执行顺序的题目: async function async1() { console.log('async1 start'); ...

  9. 【Activiti】使用学习

    [Activiti]使用学习 转载: ================================================== 1.下载安装 2.清空表 3.开启sql打印 4. 5. = ...

  10. 【hibernate】应用程序级别的视图

    [hibernate]应用程序级别的视图 转载:https://www.cnblogs.com/yangchongxing/p/10361281.html 在没有数据库修改权限时,像创建视图可以使用 ...