小白自建服务器搭建微信公众号后台教程(二)

2017-09-15  本文已影响1380人  Darkchaox

0 前言

上节课我们搭建了服务器,这节课我们来把公众号与服务器进行绑定。

1 服务器绑定域名

1.1 申请域名

因为我们目前无法直接通过域名来访问kangle搭建的子网站,所以我们需要申请一个域名来绑定子网站。
这里推荐.tk域名

优点:

1.免费
2.申请简单

缺点:

需每年登录一次手动续约

申请入口:http://www.dot.tk/zh/index.html
(申请过程比较简单,这里不详述)
申请成功后进入域名管理页面添加A记录到你的子网站:

域名管理1.png 域名管理2.png 域名管理3.png

Name这里填www,Target这填你的服务器IP,点保存。


添加A记录.png

1.2 绑定域名

1.2.1 登陆网站后台:http://服务器ip:3312/vhost/
1.2.2 点击域名绑定

绑定域名.png

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 公众号绑定服务器

登录公众号后台,开发→基本配置→成为开发者

绑定服务器.png

URL填写你的服务器域名,Token填写接口代码里的TOKEN(刚才修改为darkchaox),EncodingAESKey我们选择随机生成,点提交!如提示失败,多试几次。

启用服务器.png
提交成功后点击启用!
至此,我们已经成功搭建服务器作为微信公众号后台。
相比新浪云高昂的费用,搬瓦工VPS的价格真是良心!而且还可以一键搭建SS。
本教程服务器部分知识参考老高的技术博客、公众号相关知识参考青龙老贼的微信公众平台完整开发教程
轮子都是现成的,感谢上述大神的无私分享!
后续公众号开发请参考青龙老贼的教程!
传送门
上一篇下一篇

猜你喜欢

热点阅读