搭建微信公众号后台开发环境
1.微信公众号
微信公众号逐渐成为很多公司的一种平台媒介,而微信公众号后台开发,是值得人学习的事务.
从一定意义上来说,微信公众号开发,就是另一种web服务器开发;不同的是,该web服务器开发,依托微信公众号平台,被微信进行了一定限制.
微信关于公众号开发的规范,有相应文档:https://mp.weixin.qq.com/
如果想学习微信公众号开发,需要首先对该文档进行大致学习.
2.微信公众号后台搭建
然后,可以搭建微信公众号后台.
后台搭建,需要申请服务器资源,需要有固定IP,一般来说,方法如下:
1)公司的固定IP;
2)各种云服务器的固定IP.
1)云服务器选择
对于开发者来说,可以用云服务的IP,至于是新浪云,百度云,阿里云,腾讯云,完全是自身选择.
我自己,用了腾讯云;该云需要实名认证,并可以免费开通云服务器 CVM,15天内免费体验(https://cloud.tencent.com/act/free).
我使用了centos7.2.
2)Nginx服务器安装
然后,设置完密码后,在云上安装了Nginx,安装方法参考https://www.cnblogs.com/zhoading/p/8514050.html
在Nginx进行configure的时候,我configure的路径为:/data/nginx,命令为./configure --prefix=/data/nginx
make 和 make install之后,安装成功.
cd 到/data/nginx/sbin下,./nginx 可以启动nginx, ./nginx -s stop可以关闭进程.
在IE输入自己的云服务器IP,可以看到有登录页,证明Nginx安装成功.
3)PHP安装
然后,可以在云上,对PHP服务器进行安装.安装参考https://www.cnblogs.com/lalalagq/p/9979068.html
需要注意的是.需要对Nginx的配置文件进行更改.
location ~ \.php 部分原来为注释的,现在应该放开.
同时,建议加上include fastcgi.conf,这样可以避免Primary script unknown错误.
完整phplocation如下:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
include fastcgi.conf;
}
4)在微信公众号里,对开发进行设置.
登录微信公众号平台后,选择"基本配置-------------服务器配置",可以对服务器进行配置.
5)微信公众号 token配置失败问题
如果服务器没有配置好,会造成token配置失败问题.
原因为,微信公众号会登录,会验证url和token,如果token本身没有设置,会造成token配置失败问题一直存在.
配置token方法如下,在nginx的template下,新建index.php,并写下如下的php:
<?php
/**
* wechat php test
*/
//define your token
define("TOKEN", "test");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET["echostr"];
//valid signature , option
if($this->checkSignature()){
echo $echoStr;
exit;
}
}
public function responseMsg()
{
//get post data, May be due to the different environments
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
//extract post data
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$textTpl = "<xml>
if(!empty( $keyword ))
{
$msgType = "text";
$contentStr = "Welcome to wechat world!";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}else{
echo "Input something...";
}
}else {
echo "";
exit;
}
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}
echo "Hello, world";
?>
然后,在基本配置上,设置URL为自己的云服务器的地址,Token为test,如图所示:
这样,配置服务器设置成功
附:
微信开发参考文档:https://zhuanlan.zhihu.com/p/31157348
搭建微信公众号后台开发环境相关推荐
- sae微信公众平台php,SAE 上使用PHP搭建微信公众号后台
SAE 上使用PHP搭建微信公众号后台 准备阶段 SAE准备 SAE的应用平台提供了一个语言环境.比如提供了PHP环境的应用即可运行PHP代码.当然环境中也可以放HTML和CSS,将要展示的页面命名为 ...
- Python微信公众号后台开发003:自定义菜单
有同学问道微信公众号后台开发的自定义菜单怎么实现? 这个问题本来想放到后面的,因为的确对公众号的影响挺明显的, 因为开启后台服务,公众号的自定义菜单就不见了,很影响使用, 也有同学问这个问题,就提前了 ...
- Yii2.0实现微信公众号后台开发
2019独角兽企业重金招聘Python工程师标准>>> 研读 微信公众平台开发者文档 ,然后再阅读本文,效果更佳! 接入微信 Yii2后台配置 1.在app/config/param ...
- SpringBoot搭建微信公众号后台(一):消息接收与响应
关注作者,更多动态实时掌握,微信公众号:隔壁的程序员 上一篇我们经过接口验证,已经可以与微信的服务器进行通信,错过的可以通过下面链接来进行回顾,这一篇就来实现一个基本的消息接收与响应. SpringB ...
- python 公众号菜单_Python微信公众号后台开发003:自定义菜单
有同学问道微信公众号后台开发的自定义菜单怎么实现? 这个问题本来想放到后面的,因为的确对公众号的影响挺明显的, 因为开启后台服务,公众号的自定义菜单就不见了,很影响使用, 也有同学问这个问题,就提前了 ...
- 腾讯云+CentOS 7.2+python:搭建微信公众号后台入门教程
因为想自己编写微信公众号后台的程序,实现一些小功能,为以后的开发做准备,所以就从零开始,摸索着注册微信公众号,租用服务器,搭建环境进行开发. 简单的搭建过程中也经历了一些波折,踩了不少坑,仅留此文给跟 ...
- SpringBoot搭建微信公众号后台(零):服务搭建与接口验证
关注作者,更多动态实时掌握,微信公众号:隔壁的程序员 前言:从这篇开始小王子将开始一个新的系列内容,从零开始搭建自己的微信公众号后台.内容大致规划为:环境篇,包括用到的工具安装,破解,配置:基础篇,主 ...
- 华为云服务器如何搭建微信公众号后台-收发文本信息?
概述 在本教程中,您将学会使用弹性云服务器(以下简称 ECS)搭建微信公众号处理后台,使用Python语言编写对应的微信消息处理逻辑代码,接收从微信服务端转发过来的消息,并返回处理结果给最终用户,如图 ...
- python公众号教学_Python微信公众号后台开发教程
本篇文章开启Python开发微信公众号后台 准备: 云服务平台:(我用的是京东云的) 公众号:自己注册一个就行 Git:代码管理平台 了解平台 进入公众号后台,查看开发相关项 基本配置(服务器配置等) ...
- 技术小白用python搭建微信公众号后台
其实既然你有做开发者模式的想法,那你肯定是有些基础的. 至少会学过一些基础的编程语言. 而读完本片文章,你理解后绝对可以自己开发(一些简单的)功能.不过需要注意的是,本文只是"授人以渔&qu ...
最新文章
- 硕士学历真的很重要吗?过来人道出实情,看到最后一句很感动
- ubuntu装jdk
- frontend badi
- Organization unit determine log logic enablement
- linux停止rpc服务,linux下安装启动rpc服务
- python3导入模块原理_python模块导入原理
- Oracle的CaseWhen
- 手机群控系统OpenSTF
- python 面试题 aac caa相似_Python 面试实训 100 题,哪道难住了你?| 文末附答案
- 【蓝桥杯】2019年第十届蓝桥杯(个人赛) 大赛介绍、注意事项及赛后总结
- 转贴: 傅立叶级数(Fourier Series) 推导
- 微型计算机2019年年度盘点,「2019 IT产业市场回顾」性能堆砌、轴之战再起、多声道普及!2019年游戏外设市场年终盘点...
- 深圳高新区发展专项计划管理办法(征求意见稿)
- Qt5.9最简单的画五角星
- 鲸探发布点评:8月13日发售龙泉青瓷·鼎、龙纹扁瓶数字藏品
- Mybatis面试合集
- 前端复习之HTML5
- 学网络安全到什么程度才能找到工作?
- ubuntu系统安装安卓模拟器(Android SDK)的方法
- Spring BootV03:Spring Boot两种全局配置和两种注解