【Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台】系列文章
最近因为课程学习需要尝试把Python Flask程序部署到腾讯云的服务器上作为微信小程序的后台服务器。折腾了好几天,重装了几次系统,从 Windows Server 到 CentOS 再到 Ubuntu 。最后在DigitalOcean的Community才找到了合适的教程,本文章用来记录从开始到部署成功作为小程序后台的过程,希望能给其他刚开始尝试的小白提供一些帮助。
开始前提
- 一台腾讯云服务器(现在是啥系统不重要,可以免费重装);
- 微信公众平台小程序账号;
- 一定的Python、JavaScript、HTML基础。
一、编写flask测试程序
首先需要在本机上安装好flask运行环境,参考链接:Flask环境安装
测试程序代码:myproject.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "<h1 style='color:blue'>Hello There!</h1>"
if __name__ == "__main__":
app.run(host='0.0.0.0')
环境安装完成后,运行代码,结果为:
在浏览器中访问:http://0.0.0.0:5000/ 即可看到网页上输出的 Hello World ,表明编写的flask测试程序可用。
二、安装并配置Nginx
1.安装Nginx
执行以下命令更新程序目录并安装Nginx:
sudo apt update
sudo apt install nginx
2.调整防火墙
执行以下命令获得配置列表:
sudo ufw app list
结果如下:
配置文件解释
- Nginx Full:此配置文件同时打开端口80(正常,未加密的网络流量)和端口443(TLS / SSL加密的流量)
- Nginx HTTP:此配置文件仅打开端口80(正常,未加密的网络流量)
- Nginx HTTPS:此配置文件仅打开端口443(TLS / SSL加密流量)
由于我们还没有配置SSL,所以我们只需要允许端口80上的流量。
执行以下命令启用:
sudo ufw allow 'Nginx HTTP'
结果如下:
你还可以执行以下命令查看验证更改:
sudo ufw status
如果结果为:
则表明你的防火墙没有激活或者不起作用,请参考Ubuntu下使用UFW配置防火墙。
也可直接依次执行以下命令安装激活:
sudo dpkg --get-selections | grep ufw //检查是否安装
sudo apt-get install ufw //若为uninstall,使用此命令安装
sudo ufw status //查看激活状态
sudo ufw enable //若为inactive,使用此命令激活
此时再执行sudo ufw status
验证更改,结果应该为:
存在Nginx HTTP
,且Action为ALLOW即表明前面的配置成功。
3.检查Nginx服务运行状态
执行以下命令:
systemctl status nginx
结果应当为:
此时在本地浏览器访问你的服务器公网IP将会出现以下页面:
如果服务状态不为active (running)
,请重新执行前面的步骤安装Nginx。
【Python Flask程序部署到腾讯云服务器(Ubuntu 18.04)作为微信小程序后台】系列文章
本文参考文章:How To Serve Flask Applications with uWSGI and Nginx on Ubuntu 18.04