本文转自:https://www.cnblogs.com/voidking/p/5296552.html

前言

时隔一年半,再次接触微信公众平台开发。相比于掌上大学、圈里、微站ABC、图灵机器人、小i机器人、FAQ免费智能问答机器人、V5KF、赛科智能机器人,个人更喜欢模块定制的微擎和捷微,源码在自己手里,想怎么搞怎么搞。

本篇短文,就记录下微擎系统搭建的具体步骤。

准备条件

首先,你要有一个公网服务器,服务器上有PHP和MySQL的环境,官方推荐linux(centOS)+ nginx + php5.3,mysql5.6。其次,你要有远程操作服务器的工具,推荐使用xshell和xftp。最后,你需要从微擎官网下载微擎的源码。

服务器

云擎

先说国内的,BAE、CAE、JAE、SAE等,上次做微信开发时,它们还是免费的,现在有些开始收费了。

再说国外的,GAE、OpenShift、heroku、appfog、mongolab等,但是国内的访问速度一般,要么直接被墙。其中,OpenShift是我最喜欢的,以前使用WordPress在上面搭建了一个博客。

云擎的用法简单,基本都是建立某个类型的应用,然后把代码部署上去。因为云擎有各种限制,比如PHP版本限制、文件大小限制、访问流量限制等,所以不建议使用。但是,云擎的重点在于免费,或者免费一段时间。做做测试还是可以的,对于我等穷屌丝而言,不失为一种福利。

主流服务器

阿里云、腾讯云、亚马逊、西部数据、美团云等,按配置收费,可以根据实际需要和经济能力选择。这种服务器,就可以像本地主机一样随意安装配置了。本次的微擎环境,我们就使用阿里云。

PHP+MySQL

在linux下配置PHP+MySQL的环境,具体步骤请自行百度。如果觉得麻烦,可以在阿里云购买一个配置好的镜像系统,10元左右。

远程工具

xshell,用来远程登录服务器系统(一般是Linux),进行一些配置。

xftp,用来管理服务器上的文件。

源码

微擎官网:http://www.we7.cc/

以前使用微擎,需要把整个微擎系统的源码下载下来,然后部署到服务器上。现在,只需要下载一个名叫“install.php”的文件就可以了。

流程

连接服务器

1、打开xshell,文件,新建,输入服务器的ip地址,确定,然后输入用户名和密码,便可以连接到服务器。哇咔咔,看到了黑黝黝的shell界面,congratulations!

2、打开xftp,文件,新建,输入服务器的ip地址、用户名、密码,便可以连接到服务器。

查看帮助

通过xftp,下载帮助文件,就可以大致知道自己的服务器的配置。

可以看到,小编的web主目录为/alidata/www,OK,我们进入到/alidata/www目录下,里面有一个default目录。没错,这就是默认的web网站了,虽然里面只有一个index.html。而我们在浏览器地址栏输入主机ip地址,看到的就是这个index.html。

配置虚拟主机

如果决定直接在default目录下搭建微擎,这个步骤可以忽略。

很多情况下,我们希望在一个服务器上面搭建多个网站。以Apache为例,我们需要配置/etc/httpd/conf/httpd.conf,然后执行命令service httpd restart,具体步骤可以借鉴参考文档。

最终结果是,我们配置了一个域名为http://test.voidking.com,对应服务器主机目录为/alidata/www/test。

上传源码

通过xftp,把从微擎官网下载的“install.php”上传到default目录下。(配置过虚拟主机的话,就上传到test目录下)

在浏览器访问地址:ServerName/install.php,其中,ServerName为ip地址或者自己配置的域名。没有意外的话,可以看到微擎的安装引导页面。至此,成功了一半。

环境检查

微擎安装引导,会自动检测你的服务器环境是否符合系统安装的要求,很人性化。我们看到,目录权限有问题。

打开xshell,进入到/alidata/www目录下,chmod -R 777 test,给test目录和test目录下所有文件增加读写执行权限。

然后,再次检测,已经没有问题了。

系统配置

数据库选项,输入正确的用户名和密码即可,其他无需修改。

管理选项,创建一个管理员账号,微擎安装完成后用来登录。

下载文件

系统配置完成后,单击“继续”,微擎系统就会下载需要的文件到test文件夹,并且创建一个名为“we7”的数据库。喝杯咖啡的时间,就可以完成下载。

更新系统

用刚才配置的管理员账号登录微擎系统,看上去,一切正常。现在就可以使用了吗?不,在线安装的系统是精简版,必须更新,注意,是必须!一般来说,登录后会有更新提示,点过去即可。

测试

微信公众号

微信公众号分两种,服务号和订阅号。什么差别呢?

1、服务号只有企业或者团体才能申请,而订阅号申请要求较低;

2、服务号显示在聊天列表页,而订阅号都在聊天列表页的订阅号里面;

3、服务号初始就可以使用自定义菜单,而订阅号需要微博认证同时500人订阅才可以使用自定义菜单(2015年8月起,菜单也开放给订阅号了,但是不能在开发者模式使用,仍需认证);

4、服务号每月可以推送4条消息,而订阅号可以推送30条。

交互原理

被动处理用户的请求。图中的个人/企业服务器,指的就是微擎所在的服务器。

设置微信服务器,或者主动给用户发推送数据。

双向绑定

1、在微擎系统,添加公众号,输入自己的公众号和密码一键获取公众号信息,或者自己填入公众号信息。

最终生成我们需要的URL、Token、EncodingAESKey。

2、在微信公众平台,登录自己的公众号。左边导航栏,开发,基本配置。

其中,URL、Token、EncodingAESKey要和微擎中一致。

helloworld

在微擎系统中,管理公众号,文字回复,添加基本文字回复。输入规则名称、触发规则、回复内容,保存,提交。

手机关注自己的公众号,在聊天界面输入“helloworld”,看看返回了什么?“恭喜你进入了一个新的世界!”

微擎系统,至此基本搭建完成,更多好玩的功能,等着你去发掘。

后记

在搭建微擎系统的过程中,会遇到各种各样意想不到的错误。卧槽,逗我吗?为什么写教程的家伙没有遇到这种错误!莫方,小编也遇到过各种不懂,各种错误。百度、官网、博客、论坛、QQ群、前辈,总能找到你想要的答案。

参考文档

微擎开发文档

http://www.we7.cc/docs/#introduce

阿里云一键安装web攻略

https://bbs.aliyun.com/read/153209.html

公钥和私钥

http://blog.csdn.net/tanyujing/article/details/17348321

在一台服务器上搭建多个网站的方法(Apache版)

https://help.aliyun.com/knowledge_detail/6701386.html

Apache 虚拟主机 VirtualHost 配置

http://www.neoease.com/apache-virtual-host/

DocumentRoot does not exist解决方法

http://blog.csdn.net/zhuoyr/article/details/8393854

[转]Linux 微擎系统搭建的更多相关文章

  1. manifest.xml微擎系统模块的安装文件内容

    微擎在安装或卸载模块时会根据manifest.xml生成(或删除)数据库中相应记录,并执行manifest.xml里指定的脚本. manifest.xml文件内容详细介绍如下: manifest - ...

  2. 微擎系统BUG漏洞解决方法汇总(原创)

    微擎微赞系统BUG漏洞解决方法汇总 弄了微擎系统来玩玩,发觉这个系统BUG还不少,阿里云的提醒都一大堆,主要是没有针对SQL注入做预防,处理的办法基本都是用转义函数. 汇总: 1. 漏洞名称: 微擎任 ...

  3. 微擎系统BUG漏洞解决方法汇总

    微擎微赞系统BUG漏洞解决方法汇总 弄了微擎系统来玩玩,发觉这个系统BUG还不少,阿里云的提醒都一大堆,主要是没有针对SQL注入做预防,处理的办法基本都是用转义函数. 汇总: 1. 漏洞名称: 微擎任 ...

  4. 微擎系统jssdk系统快速签名变量

    jssdkconfig = {php echo json_encode($_W['account']['jssdkconfig']);} || { jsApiList:[] };    jssdkco ...

  5. 微擎系统 微信支付 get_brand_wcpay_request:fail

    支付授权目录问题,有一个是域名加app的

  6. 自制微擎AI面相识别算术阈值

    有时在朋友圈或其他地方会看到一些AI面相的分享链接或小程序,不是面相算命的有多吸引人,而是前面有"AI"两个字母.于是我就上网找了一下相关代码,发现了一个微擎系统的面相模块.下载下 ...

  7. 微擎模块的安装文件manifest.xml

    微擎在安装或卸载模块时会根据manifest.xml生成(或删除)数据库中相应记录,并执行manifest.xml里指定的脚本. manifest.xml文件内容详细介绍如下: manifest - ...

  8. 微擎开发------day04

    (1) cache_write($key,$data)  按照指定键名缓存数据 cache_write('test', $data) (2) cache_load($key)  读取指定键名的缓存数据 ...

  9. 微擎开发------day03

    微擎系统的路由 首先附上一张完整的项目目录图,可下载图片后查看详情 详细的路由介绍 (1)后台系统路由 例如:http://local.drp.com/web/index.php?c=home& ...

随机推荐

  1. delphi PosAnsi

    function ValidateName(n: string): string; var banned, res: string; i,j: integer; begin res:= n; bann ...

  2. Android-Recyclerview-使用分割线

    由于Recyclerview是在 android.support.v7.widget.包 RecyclerView,所以需要导Recycler库: 导Recycler库: 选择项目,右键-->  ...

  3. 检查.net dll构建的目标平台是any cpu、x86、x64

    有时候,需要检查构建的dll是否针对正确的平台 可以使用CorFlags.exe(它是.NET Framework SDK的一部分)从dll中查找此信息.运行CorFlags.exe将产生以下输出: ...

  4. .NET 证书加密 存储保存 IIS授权

    最近接到一个任务,加密DotNet项目的配置文件.配置文件里需要加密的地方一共有两块,一个是数据库连接字符串,一个是自定义的所有AppSettings. 一开始接到这个任务我是拒绝的,因为压根不知道怎 ...

  5. WPF MeasureOverride和 ArrangeOverride做个 页面导航

    public class NavigationPanel:Panel { protected override Size MeasureOverride(Size availableSize) { S ...

  6. MVC+Nhibernate+spring.net(三)

    当前层次已经分好 分层架构 画的不是太好啊,后面我会上代码,大家先将就着看吧. 现在开始搭建spring 搭建spring首先引用类库文件: spring.AopSpring.Corespring.W ...

  7. docker容器间跨主机通信

    http://jnzg905.iteye.com/blog/2269583 https://blog.csdn.net/pingpangbing0902/article/details/7823889 ...

  8. ubuntu16搭建harbor镜像库

    参考 https://blog.csdn.net/qq_35720307/article/details/86691752 目的:搭建本地镜像库,方便快速的存放和拉取需要的镜像文件.

  9. CSS中text-shadow的几个好看的文字demo及其代码

    最近有看到一些镂空的或者立体的文字设计图非常好看,然后想了想,应该是使用text-shadow来实现的,这里我贴出我仿的八个demo,分享给大家 首先是HTML代码 <div class=&qu ...

  10. tkinter如何设置界面消失 当制作一个登陆界面时,登陆成功之后,如何让登陆界面本身消失

    tkinter如何设置界面消失 当制作一个登陆界面时,登陆成功之后,如何让登陆界面本身消失 if querySQL.checkAll():#用户名和密码都输入正确 self.root.withdraw ...