介绍微信公众号的注册,配置服务器环境、部署服务器、解析域名、Token认证。
微信公众号注册
使用微信公众平台,需要先注册一个微信公众平台账号。目前的公众账号类型为订阅号、服务号、企业号及应用号小程序。在浏览器中输入微信公众平台的官方网站,网站地址为 微信公众平台 。
个人可以申请订阅号,但无法进行微信认证。认证的公众号将会有更多的接口权限。为了更好的配合该教程,我们需要一个认证的公众号进行开发。
如果没有认证的公众号,但又想进行更多的接口开发测试,我们可以申请一个测试号。
微信公众平台为开发者提供了测试号的申请,开发者只需要用微信的扫一扫功能扫描二维码即可获得一个使用期限为永久的测试账号,该账号不需要认证即可拥有普通账号认证后才具有的权限。注册微信测试号的地址是微信公众平台。
域名和配置服务器
域名和服务器自行购买。
预装的操作系统: CentOS 7.3 64位
安装LNMP环境
登录阿里云,进入控制台,选择云服务器实例,点击远程连接。
点击远程连接,这时候我们将进入管理终端环境,阿里云进入终端,需要输入远程连接密码(如果你购买的是腾讯云服务器,不会出现这个操作)。
服务器安装的是OneinStack - 一键PHP/JAVA安装工具基础环境。
输入系统账号密码,登录成功。
我们逐步输入以下命令:
yum -y install wget screen curl python #for CentOS/Redhat
wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz
tar xzf oneinstack-full.tar.gz
cd oneinstack
screen -S oneinstack
./install.sh #进行安装
安装截图

测试是否安装环境成功,我们可以在浏览器上输入的自己服务器的IP地址进行访问,然后显示安装页面就证明已经配置好服务器环境。
添加虚拟主机
输入以下命令
cd oneinstack
./vhost.sh
添加的虚拟主机域名输入你的购买域名。
添加虚拟主机截图

安装成功后,我们在阿里云控制器,选择服务器安全组,配置安全组规则,开放常用端口(80 3306 22等)

解析域名
进入阿里云域名管理中心,选择已购买成功的域名,点击解析

添加解析,记录值填入你的服务器公网IP地址

上传ThinkPHP5源码到服务器
打开FTP软件(FileZilla为例)
输入主机,用户,密码,端口22,点击快速链接(常用该主机可以选择文件->站点管理器,保存自己的站点)

打开路径/data/wwwroot/你的域名
把下载好的ThinkPHP5源码上传到你的域名下。在浏览器下输入你的域名,如果显示ThinkPHP十年磨一剑页面,则表示访问成功。
通过以上步骤,我们已经完成了服务器环境配置,域名解析,域名访问。
接下来我们将开始进行公众号的部署服务器
微信公众号部署服务器和Token认证
登录微信公众号平台,选择开发->基本设置

选择修改配置
URL:你的域名/public
Token:自己设置,必须为英文或数字,长度3-32字符
EncodingAESKey:随机生成

填写完毕,现在选择提交肯定是验证Token失败,因为还需要完成代码逻辑。改动ThinkPHP5控制器文件index.php,添加Token验证代码,index路径在 application/index/controller/index
// 微信token认证
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$echostr = $_GET["echostr"];
// 你的设置Token
$token = "";
// 1)将token、timestamp、nonce三个参数进行字典序排序
$tmpArr = array($nonce,$token,$timestamp);
sort($tmpArr,SORT_STRING);
// 2)将三个参数字符串拼接成一个字符串进行sha1加密
$str = implode($tmpArr);
$sign = sha1($str);
// 3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
if ($sign == $signature) {
echo $echostr;
}保存文件,上传到服务器。这时候再点击提交按钮,则配置成功。若提示”token验证失败”, 请认真检查代码或网络链接等。若token验证成功,会自动返回基本配置的主页面,点击启动按钮。
这时候已经完成公众号部署服务器,此后,该公众号的用户消息和开发者需要的事件推送,将会被转发到该URL中。
评论列表(0条)