flask项目部署到生产环境的方案
背景
涉及的三方库
pip install gunicorn
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文件
#!/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项目部署到生产环境的方案的更多相关文章
- 使用gunicorn将django项目部署到生产环境的子目录下,在nginx后端获取客户真实IP地址
生产环境有时,并不是为了一个项目而存在的.毕竟,域名是比较稀有的. 今天遇到这个问题,解决了.作个记录. 并且,如果将django项目部署在Nginx后面,那如何获取用户真实的IP地址呢? 下面就来解 ...
- Laravel 5 项目部署到生产环境的实践
作者:mrcn链接:https://www.zhihu.com/question/35537084/answer/181734431来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- Greenplum 数据库安装部署(生产环境)
Greenplum 数据库安装部署(生产环境) 硬件配置: 16 台 IBM X3650, 节点配置:CPU 2 * 8core,内存 128GB,硬盘 16 * 900GB,万兆网卡. 万兆交换机. ...
- flask项目部署到阿里云 ubuntu16.04
title: flask项目部署到阿里云 ubuntu16.04 date: 2018.3.6 项目地址: 我的博客 部署思路参考: Flask Web开发>的个人部署版本,包含学习笔记. 开始 ...
- 转_Greenplum 数据库安装部署(生产环境)
Greenplum 数据库安装部署(生产环境) 硬件配置: 16 台 IBM X3650, 节点配置:CPU 2 * 8core,内存 128GB,硬盘 16 * 900GB,万兆网卡. 万兆交换机. ...
- 7. 单机版Redis的安装以及Redis生产环境启动方案
安装单机版redis redis的生产环境启动方案redis cli的使用 1. 安装单机版redis 大家可以自己去官网下载,当然也可以用课程提供的压缩包 wget http://downloads ...
- 把Sharepoint Desinger 工作流部署到生产环境
下面是比较简单的方法,把Designer工作流从开发环境部署到生产环境. 在Sharepoint Desinger 2013 中点击需要部署的工作流. 点击保存,发布. 点Export to Visi ...
- Node JS后端项目开发与生产环境总结
原文地址:Node JS后端项目开发与生产环境总结 Node JS常用后端框架有express.koa.sails.国产框架有个egg js,已经在cnode投入生产了,还有个think js,类似t ...
- (转) 将ASP.NET Core应用程序部署至生产环境中(CentOS7)
原文链接: http://www.cnblogs.com/ants/p/5732337.html 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Cor ...
随机推荐
- oracle 触发器(自增写法)
触发器trigger 触发器我们也可以认为是存储过程,是一种特殊的存储过程. 存储过程:有输入参数和输出参数,定义之后需要调用 触发器:没有输入参数和输出参数,定义之后无需调用,在适当的时候会自动执行 ...
- Java 虚拟机结构
一 数据类型 与 Java 程序语言中的数据类型相似,Java 虚拟机可以操作的数据类型可分为两类:原始类型(Primitive Types,也经常翻译为原生类型或者基本类型)和引用类型(Refere ...
- 英语口语考试资料Friendships
Friendships Remember Friendships can be complicated. When you want to get to know someone, it helps ...
- Lua的面向对象,封装,继承,多态
概述 我们总所周知对象是由属性和方法组成的,要用lua要描述一个对象,也必然要有这两个特性,属性和方法.lua的基本结构是table,所以Lua的类,其实都是table,因为它可以存储普通的变量又可以 ...
- #化鲲为鹏,我有话说# 鲲鹏弹性云服务器配置 Tomcat
在鲲鹏弹性云服务器上配置 Tomcat 1 下载 Tomcat 地址 :http://tomcat.apache.org/ 根据需要选择版本,这里使用 Tomcat 9,下载压缩包 2 将文件发送到服 ...
- java基础文件,File类
此文参考自"Java SE程序设计" 编著: 青岛东合信息技术有限公司 算是做笔记,以后想看可以翻阅,顺便分享出来大家可以参照.如有侵权,请联系本人删除 文件 文件是相关记录或放在 ...
- Nginx(http协议代理 搭建虚拟主机 服务的反向代理 在反向代理中配置集群的负载均衡)
Nginx 简介 Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务.Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点(俄文:Рамблер)开 ...
- [TimLinux] django WSGI入口分析及自定义WSGIHandler思路
1. 命令行启动 命令行是通过runserver子命令来启动的,对应的django模块为django.core.management.commands.runserver,调用关系结构: # 简化的运 ...
- java面向对象基础知识
一.面向对象与面向过程的区别: ①所处的角色不同:前者指挥者,后者执行者:②所需知道的事情不同:前者知道哪些是做这些事情的人就可以,不需了解具体的事情操作的过程.后者需要具备应有的技能来做这些事情. ...
- 【NPM】361- 10个 NPM 使用技巧
点击上方"前端自习课"关注,学习起来~ 对于一个项目,常用的一些npm简单命令包含的功能有: 初始化一个文件夹( npm init ) 下载npm模块( npm install ) ...