不要着急,慢慢的看,一步一步的来,步子大容易扯到蛋。

将写好的项目上传到github或者码云上,github和码云可以互通,可以将github上的库直接导入码云。
你要是不会传项目到github或者码云,弄完再来。

一、windows上部署,需要使用虚拟机,VMware Workstation。

创建虚拟机,作为服务器

android 运行 flask 服务_android 运行 flask 服务

1、安装好项目用到的“Python”

sudo apt install python
sudo apt install python-pip

安装中遇到Do you want to continue? [Y/n] 填y 回车确定

android 运行 flask 服务_virtualenv_02


android 运行 flask 服务_python_03


如果安装报错,查看这篇文章

android 运行 flask 服务_android 运行 flask 服务_04

2、安装虚拟环境“virtualenv”以及“virtualenvwrapper”
安装了python-pip后就能使用pip安装包

pip install virtualenv
pip install virtualenvwrapper

android 运行 flask 服务_virtualenv_05


android 运行 flask 服务_git_06


查看virtualenvwrapper的位置

android 运行 flask 服务_virtualenv_07


android 运行 flask 服务_python_08


3、设置环境变量

sudo apt install vim

android 运行 flask 服务_python_09

vim ~/.bashrc

android 运行 flask 服务_android 运行 flask 服务_10


进入后,光标移动到最底层,点击 i 编辑

输入

export WORKON_HOME=~/.virtualenvs

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

export VIRTUALENVWRAPPER_VIRTUALENV=~/.local/bin/virtualenv

source ~/.local/bin/virtualenvwrapper.sh

android 运行 flask 服务_android 运行 flask 服务_11

android 运行 flask 服务_android 运行 flask 服务_12


输入完毕后点击Esc,输入 “ :wq ”保存退出如果报错virtualenvwrapper.sh: There was a problem running the initialization hooks.

是因为只安装了python3,virtualenvwrapper.sh中修改一下配置就ok

android 运行 flask 服务_python_13


android 运行 flask 服务_python_14

如果报错bash: /usr/locaL/bin/virtualenvwrapper.sh: No such file or directory

android 运行 flask 服务_android 运行 flask 服务_15


android 运行 flask 服务_virtualenv_16


正常的流程是这样的

android 运行 flask 服务_android 运行 flask 服务_17


创建虚拟环境

mkvirtualenv (虚拟环境名称)flask-env-py

android 运行 flask 服务_git_18

如果创建失败,就重新安装virtualenv
sudo apt install virtualenv

二、服务器安装ssh、git以及数据库

需要使用xshell5工具

android 运行 flask 服务_python_19


为了连接xshell工具,需要在虚拟机中安装openssh-server openssh-client

sudo apt install openssh-server openssh-client
service ssh restart

android 运行 flask 服务_android 运行 flask 服务_20


android 运行 flask 服务_git_21


android 运行 flask 服务_virtualenv_22


启动完成之后,就可以使用xshell连接虚拟机了

查看自己虚拟机的ip地址(ifconfig)

android 运行 flask 服务_virtualenv_23

然后打开xshell,创建连接

android 运行 flask 服务_virtualenv_24


点击确认后,连接虚拟机

android 运行 flask 服务_virtualenv_25

现在我们在xshell上面操作就能控制虚拟机了
接下来在xshell中切换至root用户,
如果出现su:Authentication failure
请查看这篇文章

android 运行 flask 服务_virtualenv_26

成功之后进入root就是这样的

android 运行 flask 服务_virtualenv_27


接下来,安装git

因为是root权限,所以可以直接 apt install git

apt install git

android 运行 flask 服务_android 运行 flask 服务_28

安装数据库,我的项目用的mysql

android 运行 flask 服务_python_29


想使用python操作数据库的话还需要安装一个库libmysqlbd-dev

apt install libmysqld-dev

android 运行 flask 服务_android 运行 flask 服务_30

以上准备工作完成之后,我们就可以从git服务器上将项目拉下来了

三、生产环境下项目的配置

我们进入srv目录,所有的服务器文件全部放在这里 cd /srv

android 运行 flask 服务_android 运行 flask 服务_31


然后新建一个文件夹(名字严谨一点)

mkdir KFonline(这是我的项目名称)

android 运行 flask 服务_git_32


将文件夹init为git文件夹 git init

android 运行 flask 服务_android 运行 flask 服务_33


再将自己的项目拉服务器上

git remote add origin https://gitee.com/…/…git

git pull origin master

android 运行 flask 服务_python_34


android 运行 flask 服务_python_35

进入虚拟环境,安装requirement.txt

workon flask-env-py
pip install -r requirement.txt

android 运行 flask 服务_python_36


如果无法进入虚拟环境,就在root用户下再创建一个虚拟环境

mkvirtualenv flask-env-py

android 运行 flask 服务_python_37

进入数据库

mysl -u root -p

android 运行 flask 服务_virtualenv_38


创建数据库(与项目的数据库名称一致)

create database kefu charset utf8;

android 运行 flask 服务_git_39

给root用户远程访问的授权

GRANT ALL PRIVILEGES ON . TO root@"%" IDENTIFIED BY “root”;

flush privileges;

android 运行 flask 服务_python_40

初始化数据库迁移脚本

python3 manage.py db init

因为我的项目db是在manage.py中完成,所以是manage.py,

android 运行 flask 服务_virtualenv_41


然后同步数据库 python3 manage.py db migate

android 运行 flask 服务_git_42