乐趣区

关于云服务:Python关于flask项目部署到阿里云服务器步骤详解

 本次应用的是基于 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 虚拟环境中执行, 不然会报错执行不起来

退出移动版