Python3-Flask-微信公众号开发

配置服务器以及创建一个可访问的web应用

个人认为作为一个开发者,一个域名、一个小型的服务器是非常有必要的。
所以这次的微信公众号开发基于个人外网服务器来进行。

注:
申请域名和服务器请自行查询。
我这里用的是阿里云和DigitalOcean服务商,DigitalOcean可以免费试用两个月

所以我默认大家都已经具备了这两种属性。

域名解析

这里以阿里云的为例子,配置信息如下图就可以,不同的平台配置方式不一样。
这里写图片描述

创建一个本地的Falsk Web应用

首先我们在本地使用Python3和Flask创建一个简单的web应用(开发环境为Liunx)

Python3的安装方法

[root@localhost install]# wget https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz
[root@localhost install]# tar -zxf Python-3.4.4.tgz
[root@localhost install]# cd Python-3.4.4

[root@localhost Python-3.4.4]# ./configure
[root@localhost Python-3.4.4]# make
[root@localhost Python-3.4.4]# make install

安装Flask

pip3 install Flask

开发环境基本完成,现在开始来写一个简单的Flask应用

新建一个hello.py文件,键入代码

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == '__main__'
    app.run()

运行hello.py

python3 hello.py
 * Running on http://127.0.0.1:5000/

浏览器中打开该网址
Python3-Flask-微信公众号开发_第1张图片

这样一个简单Flask Web应用就完成了

通过指定域名访问部署于外网的 web 服务

这里我们使用frp来进行我们的域名部署。
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。
Python3-Flask-微信公众号开发_第2张图片
下载我们需要的版本,我这里使用的frp_0.11.0_linux_amd64.tar.gz

进入liunx,下载frp

wget https://github.com/fatedier/frp/releases/download/v0.11.0/frp_0.11.0_linux_amd64.tar.gz

解压并切换到该目录

tar -zxf frp_0.11.0_linux_amd64.tar.gz
cd frp_0.11.0_linux_amd64

现在我们开始进行配置

1、修改 frps.ini 文件,设置 http 访问端口为 80

[common]
bind_port = 7000
vhost_http_port = 80

2、使用nohup启动frps. 使用nohup可以后台运行,不会因为终端的关闭而关闭

nohup ./frps -c ./frps.ini &

3、修改 frpc.ini 文件,假设 frps 所在的服务器的 IP 为 x.x.x.x,local_port 为本地机器上 web 服务对应的端口,因为Flask默认的是5000端口,所以我们这里使用5000, 绑定自定义域名 www.xxxx.com

[common]
server_addr = x.x.x.x
server_port = 7000

[web]
type = http
local_port = 5000
custom_domains = www.xxxx.com

4、这里同样使用nohup启动frpc

nohup ./frpc -c ./frpc.ini

5、域名解析,之前已经做了这一步了
6、新建一个文件夹,创建main.py,将我们之前的代码copy进去

mkdir wx_flask
cd wx_flask

vi main.py
#保存代码 esc  :wq

7、依然使用nohup运行main.py

nohup python3 main.py &

8、现在我们可以在外网使用域名访问我们Flask应用了
Python3-Flask-微信公众号开发_第3张图片

如此我们的基本配置也就完成了,可以开始正式进行微信公众号的开发了。

你可能感兴趣的:(Python)