1. 安装gunicorn
pip install gunicorn
2. gunicorn启动服务
gunicorn -w 4 -b 0.0.0.0:5000 run:app
-w:workers缩写,表示进程数
-b: 执行0.0.0.0后就可以通过ip+port访问web页面
run: 表示app核心对象所在的py文件:run.py中
app: application核心对象。
部署脚本
deploy_project.sh:
#!/bin/bash
#Author: chuntian_tester
#Date: 2019-05-11
#Deploy flask app
# 1.打包
function pack_code
{
tar -cvzf mynginx.tar.gz /home/mynginx # 打包命令:tar -cvzf 打包后的名.tar.gz /待打包的目录名
# 解压命令:tar -xvzf 待解压的报名.tar.gz /存放解压文件的目录名
}
# 2.上传
function upload_code
{
{
pass}
}
# 3.解压
PROJECT_DIR="$HOME/Projects"
PROJECT_NAME="mynginx"
CODE_PATH="/home/mynginx.tar.gz"
function unpack_code
{
# 判断目录是否存在,不存在就创建
if [ ! -e "${PROJECT_DIR}" ]; then
{
echo "${PROJECT_DIR} is not exist!"
mkdir -p ${PROJECT_DIR} && echo "${PROJECT_DIR} create success!" || echo "${PROJECT_DIR} create failed!"
}
cd "${PROJECT_DIR}"
# 判断项目是否存在,存在就删除
[ -e "${PROJECT_NAME}" ] && rm -rf "${PROJECT_NAME}"
#解压到当前目录
tar -xvzf "${CODE_PATH}" ./
}
# 4。安装pythonpython3相关环境
function install_python3
{
# 判断python3是否已安装,未安装则执行安装
if [ ! $(python3 --version)=0 ]; then
{
# 以centos 用yum安装示例
yum update -y &> /dev/null
yum install -y python3 &> /dev/null
}
}
# 5。安装设置虚拟环境
function install_virtualenv
{
# 判断虚拟环境dev01是否存在
if [ ! -e /home/dev01 ]; then
{
# python -m venv "虚拟环境名" 创建虚拟环境
python3 -m venv "dev01"
# 使用虚拟环境
source dev01/bin/activate
# 进入项目,找到requirements.txt文件安装项目以来包,假设该文件在mynginx中
cd /home/mynginx
pip3 install -i https://pypi.douban.com/simple -r requirementx.txt
}
}
# 6。下载各种安装包及依赖
function install_extends
{
# 合到了 上面第 5 点
}
# 7。gunicorn
function install_config_gunicorn
{
# 安装 gunicorn
pip3 install gunicorn
# gunicorn启动服务
gunicorn -w 4 -b 0.0.0.0:5000 run:app
# -w:workers缩写,表示进程数
# -b: 执行0.0.0.0后就可以通过ip+port访问web页面
# run: 表示app核心对象所在的py文件:run.py中
# app: application核心对象。
}
# 8。Nginx安装
function install_config_nginx
{
}
# 9。进程管理 supervisor
function check_process
{
}
# 10.主程序