小白自建服务器搭建微信公众号后台教程(二)
2017-09-15 本文已影响1380人
Darkchaox
0 前言
上节课我们搭建了服务器,这节课我们来把公众号与服务器进行绑定。
1 服务器绑定域名
1.1 申请域名
因为我们目前无法直接通过域名来访问kangle搭建的子网站,所以我们需要申请一个域名来绑定子网站。
这里推荐.tk域名
优点:
1.免费
2.申请简单
缺点:
需每年登录一次手动续约
申请入口:http://www.dot.tk/zh/index.html
(申请过程比较简单,这里不详述)
申请成功后进入域名管理页面添加A记录到你的子网站:
Name这里填www,Target这填你的服务器IP,点保存。
添加A记录.png
1.2 绑定域名
1.2.1 登陆网站后台:http://服务器ip:3312/vhost/
1.2.2 点击域名绑定
1.2.3 在“域名”那输入你刚才申请到的域名,然后点击“确定”
输入域名.png
1.2.4 接下来,我们来测试一下域名是否成功绑定。
新建一个文本文档,输入一下代码:
<?php
echo '<strong>Hello World!</strong>';
?>
保存为index.php,将其上传到网站wwwroot目录下:
上传index.php.png浏览器输入你的域名:www.darkchaox.tk
若绑定成功,则会显示: 绑定成功.png
1.2.5 创建接口文件,将以下代码保存为index.php,上传至wwwroot目录
<?php
/*
接口代码,公众号与服务器验证使用
*/
header('Content-type:text');
define("TOKEN", "darkchaox"); //这里定义TOKEN为darkchaox,稍后在公众号开发者页面需要填写
$wechatObj = new wechatCallbackapiTest();
if (isset($_GET['echostr'])) {
$wechatObj->valid();
}else{
$wechatObj->responseMsg();
}
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET["echostr"];
if($this->checkSignature()){
header('content-type:text');
echo $echoStr;
exit;
}
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
public function responseMsg()
{
$postStr = $GLOBALS["HTTP_RAW_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>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
if($keyword == "?" || $keyword == "?")
{
$msgType = "text";
$contentStr = date("Y-m-d H:i:s",time());
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}
}else{
echo "";
exit;
}
}
}
?>
2 公众号绑定服务器
登录公众号后台,开发→基本配置→成为开发者
绑定服务器.pngURL填写你的服务器域名,Token填写接口代码里的TOKEN(刚才修改为darkchaox),EncodingAESKey我们选择随机生成,点提交!如提示失败,多试几次。
启用服务器.png提交成功后点击启用!
至此,我们已经成功搭建服务器作为微信公众号后台。
相比新浪云高昂的费用,搬瓦工VPS的价格真是良心!而且还可以一键搭建SS。
本教程服务器部分知识参考老高的技术博客、公众号相关知识参考青龙老贼的微信公众平台完整开发教程。
轮子都是现成的,感谢上述大神的无私分享!
后续公众号开发请参考青龙老贼的教程!
传送门