700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 利用阿里云ECS搭建微信公众平台服务器

利用阿里云ECS搭建微信公众平台服务器

时间:2020-05-25 13:58:01

相关推荐

利用阿里云ECS搭建微信公众平台服务器

最近虽然学术进展依然缓慢,可是没有那么大的心理压力了。

原因可能有二,一是前一段刚投了一篇文章出去,二是前一段审了一篇投在还不错的期刊上的超水的文章,结果别的reviewer还给放过去了,我直接让打回重改了。可能是看到这么水的文章都有希望发这样的期刊吧……

最近创建了一个自己的微信公众号,滑雪前线,用来分享一些滑雪相关资讯,因为我发现国内的滑雪虽然已经热起来了,但是还没有形成相应的文化。

可是自己毕竟是码农出身,天生的手贱,不甘于每天安安心心找几篇文章翻译翻译、搬运搬运,总想要把技术方面的东西用上来。这不,开始给公众号搭建服务器了。

主要参考这篇Blog,但是由于按照原博客Token验证不了,且原博客werobot版本较老,对代码有所微调。

买的是阿里云最便宜1核1G内存,1M带宽,40G硬盘的ECS服务器,OS Ubuntu 14.04 64位操作系统,一个月68块钱,对我来说也就是两顿饭钱。

主要组件展示

NginxGunicornPythonPipVirtualenvFlaskSupervisorWeRoBot SDK

简单说下主要逻辑关系,我们用Nginx作为Web服务器,该服务器无法直接和Flask (or Python)交互,所以我们需要引入Gunicorn,它是一个独立的WSGI容器,可以容纳WSGI应用并且提供HTTP服务。而后,用Supervisor 管理服务器进程,当某个应用挂掉,可以自动重启。

安装Virtualenv及必要组件

用来创建不同的Python隔离环境,可以保证一个干净的环境。

$ adduser wechatmanager #创建新用户

$ sudo apt-get update $ sudo apt-get install zsh # 强烈推荐该shell$ sudo apt-get install -y python python-pip python-virtualenv # 安装各类组件$ sudo mkdir /home/wechatmanager && cd /home/wechatmanager $ sudo virtualenv wechat_connector# 此时在mirror文件夹下创建一个虚拟环境$ cd /home/wechatmanager/wechat_connector $ sudo source ./bin/activate # 激活虚拟环境$ sudo apt-get install -y nginx gunicorn # 安装各类组件# 取消激活命令为deactivate

安装WeRoBot SDK

$ sudo pip install werobot

基本应答helloworld代码 in app.py:

import werobotrobot = werobot.WeRoBot(token='tokenhere')# 消息处理函数@robot.handlerdef echo(message): return 'Hello World!'robot.run(server="gunicorn", port=8000)

然后去微信公众平台把Token改为你自己设置的Token。

配置 Nginx

$ sudo /etc/init.d/nginx start #启动nginx$ sudo rm /etc/nginx/sites-enabled/default #删除默认配置$ sudo touch /etc/nginx/sites-available/wechat_connector#建立项目文件$ sudo ln -s /etc/nginx/sites-available/wechat_connector/etc/nginx/sites-enabled/wechat_connector #设置软链接$ sudo vim /etc/nginx/sites-enabled/wechat_connector #编辑项目文件

添加:

server { server_name your_domain;listen 80;location /weixin { proxy_pass http://127.0.0.1:8000;}}

腾讯公众号默认只能连接http的80端口和https的443端口

当公众号向(your_domain/weixin)发送消息,便会反向代理到127.0.0.1的8000端口,这也是为什么我们之前的代码监听8000端口的原因

# 重启 nginx:$ sudo /etc/init.d/nginx restart

配置 Supervisor

$ sudo apt-get install -y supervisor #安装$ sudo vim /etc/supervisor/conf.d/test.conf #创建配置文件

添加:

[program:wechat_connector]command = python /home/wechatmanager/wechat_connector/app.pydirectory = /home/wechatmanager/wechat_connectortimeout = 60*60user = newuserautostart = trueautorestart = trueredirect_stderr = truestdout_logfile = /home/mirror/logs/wechat_connector.log

启动Supervisor

$ sudo supervisorctl reread$ sudo supervisorctl update$ sudo supervisorctl start wechat_connector ## 重启supervisor$ sudo supervisorctl restart wechat_connector

微信平台端设置

进入微信公众平台—>开发者模式—>设置URL和Token,URL为your_domain/weixin,Token为你在werobot中设定的

如果配置没有问题,顺利通过,用微信给你的公众平台发消息应该能看到’hello world!’。

Tips:出现任何问题,重启supervisor,倘若仍不能够解决,请查看log文件。

参考

阿里云ECS搭建微信公众平台

WeRoBot

VPS环境搭建详解

Flask on Ubuntu

文/TheEverest(简书作者)

原文链接:/p/e22d152fae9a

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。