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

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

作者: Darkchaox | 来源:发表于2017-09-15 10:41 被阅读1380次

    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。
    本教程服务器部分知识参考老高的技术博客、公众号相关知识参考青龙老贼的微信公众平台完整开发教程
    轮子都是现成的,感谢上述大神的无私分享!
    后续公众号开发请参考青龙老贼的教程!
    传送门

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/lrvrsxtx.html