Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器

【Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台】系列文章

  • (一)安装配置Nginx
  • (二)部署Flask到云服务器
  • (三)云服务器配置

最近因为课程学习需要尝试把Python Flask程序部署到腾讯云的服务器上作为微信小程序的后台服务器。折腾了好几天,重装了几次系统,从 Windows Server 到 CentOS 再到 Ubuntu 。最后在DigitalOcean的Community才找到了合适的教程,本文章用来记录从开始到部署成功作为小程序后台的过程,希望能给其他刚开始尝试的小白提供一些帮助。

开始前提

  1. 一台腾讯云服务器(现在是啥系统不重要,可以免费重装);
  2. 微信公众平台小程序账号;
  3. 一定的Python、JavaScript、HTML基础。

三、部署flask测试程序

在腾讯云-实例-控制台将云服务器重装系统为 Ubuntu Server 18.04.1 LTS 64位,登录服务器。
Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第1张图片
在上面的界面输入执行以下命令:

1.更新软件列表

sudo apt update

Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第2张图片

2.安装软件包

sudo apt install python3-pip python3-dev build-essential libssl-dev libffi-dev python3-setuptools

在这里插入图片描述
输入 y ,回车。一大串滚动过后回到命令行,表示安装成功。(60.5MB文件大小并不一定,与你当前已经安装的程序有关系)

3.安装python3-venv软件包

sudo apt install python3-venv

与我们在开发flask程序时在本地安装的虚拟环境类似。

4.创建程序父目录

mkdir ~/myproject
cd ~/myproject

创建并转到创建好的目录中,发现$前面的路径发生了变化:
在这里插入图片描述

5.创建虚拟环境

python3.6 -m venv myprojectenv

在这里插入图片描述

6.启用虚拟环境

source myprojectenv/bin/activate

在这里插入图片描述
你会发现命令行最前面增加了(myprojectenv),表示我们已经进入了刚刚创建的虚拟环境。

7.在服务器上安装flask环境

pip install wheel
pip install uwsgi flask

在这里插入图片描述
在这里插入图片描述

8.上传flask测试程序到服务器

由于我是macOS的系统,所以用FileZilla远程连接服务器通过SFPT(sshFTP)上传文件。

(1)放通入站端口

由于腾讯云在没有安全规则的情况下是默认关闭所有端口访问的,所以我们需要新建安全规则放通我们使用SFTP需要的22号端口。
在服务器的控制台中选择 “安全组” :Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第3张图片
“新建”-“放通22,80,443,3389端口和ICMP协议”-“确定”:
Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第4张图片
“修改规则”:
在这里插入图片描述
“关联实例”:
Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第5张图片
“新增关联”-“选择实例”-“确认”:
Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第6张图片

(2)建立SFTP连接

进入站点管理器:Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第7张图片
建立新站点:
Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第8张图片
协议选择SFTP,主机填写服务器的公网IP,登录类型选择正常,用户名为ubuntu,然后输入之前设置的账户密码即可。
Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第9张图片
连接成功后就能够看到我们刚刚创建的目录:
Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第10张图片

(3)上传flask程序并测试

刚刚说得有点远,言归正传,我们要将一开始在本地写好的flask测试程序上传到云服务器。
将测试的flask程序的py文件放到myproject文件夹下:
Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第11张图片
使用以下命令可以在云服务器中看到我们刚刚上传的文件和虚拟环境的文件夹:

ls -a

在这里插入图片描述
使用以下命令放通5000端口:

sudo ufw allow 5000

结果如下:
在这里插入图片描述
使用以下命令运行flask程序:

python myproject.py

结果如下:
Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第12张图片
然后你可以使用本地浏览器访问http://your_server_ip:5000,结果如下:
Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第13张图片
如果无法进入:5000端口页面,有可能的原因是腾讯云服务器安全规则没有放通,在腾讯云的控制台选择服务器绑定的安全组添加规则即可:
Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第14张图片
前面的0.0.0.0/0::/0表示准许所有ipv4和ipv6地址访问,后面放通的协议端口填写TCP:5000,然后点击完成,添加好之后就可以访问得到上面的结果了。

测试完成后,在运行界面按下control+C即可关闭服务器,回到命令行界面:
Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第15张图片

9.创建WSGI接入点

在本地创建wsgi.py文件,在文件中粘贴以下内容,其中第一行的myproject是之前flask测试程序的文件名,app是之前flask测试程序中定义的Flask程序变量名:

from myproject import app

if __name__ == "__main__":
    app.run()

在本地创建好此py文件后,使用FileZilla将其发送到/myproject文件夹下,可以在服务器中看到:
在这里插入图片描述

10.测试WSGI接入点

运行命令:

uwsgi --socket 0.0.0.0:5000 --protocol=http -w wsgi:app

结果如下:
Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第16张图片
访问ip:5000,可以进入以下界面,表明uWSGI服务没有问题:
Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台-(二)部署Flask到云服务器_第17张图片
每一次访问都会在服务器端显示访问结果,200表示访问成功:
在这里插入图片描述
测试完成后,在运行界面按下control+C即可关闭服务器,回到命令行界面。

我们现在已经在虚拟环境中完成了flask程序在云服务器中的部署,使用deactivate命令关闭虚拟环境,继续配置增强服务器性能。

【Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台】系列文章

  • (一)安装配置Nginx
  • (二)部署Flask到云服务器
  • (三)云服务器配置

本文参考文章:How To Serve Flask Applications with uWSGI and Nginx on Ubuntu 18.04

你可能感兴趣的:(Python,Flask)