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

    科技2022-07-11  82

     本次使用的是基于ubuntu 16.04系统

    第一步:我们先到阿里云官网https://www.aliyun.com/注册和登录以及实名认证,然后可以在官网上购买收费的云服务器或者领取一个月免费的云服务器https://free.aliyun.com/

    第二步:买好了之后点击右上角的控制台,再点击左边弹窗的云服务器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虚拟环境中执行,不然会报错执行不起来

    Processed: 0.032, SQL: 8