本次应用的是基于 ubuntu 16.04 零碎
第一步: 咱们先到阿里云官网注册和登录以及实名认证
第二步: 买好了之后点击右上角的控制台, 再点击右边弹窗的云服务器 ECE, 而后创立实例, 实例搞好之后点击右边菜单栏往下拉有个平安组, 点进去后点左边的配置规定配置再点右上角的增加平安组规定, 只须要填写端口范畴和受权对象就能够. 端口范畴填写标准是: 端口 / 端口, 受权对象就填 0.0.0.0/0. 期间须要次要增加 80 的端口以及本人的我的项目本地的端口, 例如 5000 和 5001. 还能够在实例界面点击更多重置云服务器明码用来 ubuntu 近程登录的时候用, 须要重启下云服务器.
第三步: 进入 ubunru 终端界面
输出:ssh 用户名 (默认是 root)@公网 ip 地址(在实例界面) 敲回车后输出后面重置的明码就登录胜利了, 进来了后很多货色都须要咱们重新安装, 所以先是相干环境装置:
1.apt-get update 先更新 apt 相干源
2.apt-get install mysql-server /apt-get install libmysqlclient-dev mysql 的装置
3.apt-get install redis-server redis 的装置
4.pip install virtualenv / pip install virtualenvwrapper 装置 flask 虚拟环境
编辑~/.bashrc 文件, 内容如下:export WORKON_HOME=$HOME/.virtualenvs /
export PROJECT_HOME=$HOME/workspace /
source /usr/local/bin/virtualenvwrapper.sh
运行:source ~/.bashrc
5. 创立虚拟环境:mkvirtualenv -p python3 py3_flask
重点: 而后 workon + py3_flask 进入到虚拟环境里, 后续所有命令全副在虚拟环境中执行
6. 装置 git: apt-get install git
7. 进入 pycharm 点及菜单 vcs, 再点 Git, 再点 Remotes, 再选中点击图标笔把地址复制下来切换到终端中执行 git clone 地址 把我的项目克隆下来
8. 再在 pycharm 控制台里执行 pip freeze > requirements.txt, 执行结束后会生成一个叫 requirements.txt 的文件, 把它 add + commit +push 到 git 上, 再把数据测试 文件 push 到 git 上.
9. 在终端里执行 git pull 把下面 push 的三个文件拉下来, 先执行 pip install -r requirements.txt 装置所有须要的模块(在装置 Flask-MySQLdb 的时候可能会报错,可能是依赖包没有装置,执行以下命令装置依赖包:apt-get build-dep python-mysqldb), 而后关上另一个终端窗口进入云服务器环境进入 mysql 数据库创立一个数据库和原来我的项目的名字一样, 再执行数据库迁徙三个步骤①python manage.py db init ②python manage.py db migrate -m”initial”③python manage.py db upgrade, 实现后在数据库里查看下数据表构造都有了没, 有了后就应用 source + 文件名导入测试数据, 实现后能够执行相干数据表查问命令查问是否胜利.
10. 装置 Nginx:apt-get install nginx, 而后 vim + /etc/nginx/sites-available/default 编辑配置文件如下:
# 如果是多台服务器的话,则在此配置,并批改 location 节点上面的 proxy_pass upstream flask {server 127.0.0.1:5000; server 127.0.0.1:5001;}server {# 监听 80 端口 listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / {# 申请转发到 gunicorn 服务器 proxy_pass http://127.0.0.1:5000; # 申请转发到多个 gunicorn 服务器 # proxy_pass http://flask; # 设置申请头,并将头信息传递给服务器端 proxy_set_header Host $host; # 设置申请头,传递原始申请 ip 给 gunicorn 服务器 proxy_set_header X-Real-IP $remote_addr;}}
/etc/init.d/nginx start #启动 nginx
/etc/init.d/nginx stop #进行 nginx
11. 装置 Gunicorn
pip install gunicorn
启动命令是:
# -w: 示意过程(worker)-b:示意绑定 ip 地址和端口号(bind)
gunicorn -w 2 -b 127.0.0.1:5000 运行文件名称:Flask 程序实例名
12. 最初能够进入我的项目文件夹中执行 gunicorn -w 2 -b 127.0.0.1:500 manage:app 了, 胜利后会是如下图:
而后进关上浏览器输出阿里云服务器公网 ip 就能够拜访网页了, 记住执行相干操作要在 flask 虚拟环境中执行, 不然会报错执行不起来