[转]Linux 微擎系统搭建
本文转自: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 微擎系统搭建的更多相关文章
- manifest.xml微擎系统模块的安装文件内容
微擎在安装或卸载模块时会根据manifest.xml生成(或删除)数据库中相应记录,并执行manifest.xml里指定的脚本. manifest.xml文件内容详细介绍如下: manifest - ...
- 微擎系统BUG漏洞解决方法汇总(原创)
微擎微赞系统BUG漏洞解决方法汇总 弄了微擎系统来玩玩,发觉这个系统BUG还不少,阿里云的提醒都一大堆,主要是没有针对SQL注入做预防,处理的办法基本都是用转义函数. 汇总: 1. 漏洞名称: 微擎任 ...
- 微擎系统BUG漏洞解决方法汇总
微擎微赞系统BUG漏洞解决方法汇总 弄了微擎系统来玩玩,发觉这个系统BUG还不少,阿里云的提醒都一大堆,主要是没有针对SQL注入做预防,处理的办法基本都是用转义函数. 汇总: 1. 漏洞名称: 微擎任 ...
- 微擎系统jssdk系统快速签名变量
jssdkconfig = {php echo json_encode($_W['account']['jssdkconfig']);} || { jsApiList:[] }; jssdkco ...
- 微擎系统 微信支付 get_brand_wcpay_request:fail
支付授权目录问题,有一个是域名加app的
- 自制微擎AI面相识别算术阈值
有时在朋友圈或其他地方会看到一些AI面相的分享链接或小程序,不是面相算命的有多吸引人,而是前面有"AI"两个字母.于是我就上网找了一下相关代码,发现了一个微擎系统的面相模块.下载下 ...
- 微擎模块的安装文件manifest.xml
微擎在安装或卸载模块时会根据manifest.xml生成(或删除)数据库中相应记录,并执行manifest.xml里指定的脚本. manifest.xml文件内容详细介绍如下: manifest - ...
- 微擎开发------day04
(1) cache_write($key,$data) 按照指定键名缓存数据 cache_write('test', $data) (2) cache_load($key) 读取指定键名的缓存数据 ...
- 微擎开发------day03
微擎系统的路由 首先附上一张完整的项目目录图,可下载图片后查看详情 详细的路由介绍 (1)后台系统路由 例如:http://local.drp.com/web/index.php?c=home& ...
随机推荐
- poj 2676 如何填满九宫格
Sudoku Time Limit: 2000 MS Memory Limit: 65536 KB 64-bit integer IO format: %I64d , %I64u Java class ...
- 分形之花篮(Flower Basket)
这一篇展示的图形与上一篇文章分形之皇冠(Crown)很相似. 核心代码: static void FractalFlowerBasket(const Vector3& vStart, cons ...
- EF查询返回DataTable
using (SchoolContext dbCOntext = new SchoolContext()) { string str = "select * from student&quo ...
- Unity 屏幕外死亡的敌人的分数显示在屏幕内
在敌人死亡后,会出现分数,如果敌人死亡的位置在屏幕内,那么使得获得的分数显示在屏幕内,超出屏幕范围的,显示在屏幕外 当然,这里例子是使得场景中的物体显示在屏幕内,当然也可以使用纯粹的UGUI物体的显示 ...
- 背水一战 Windows 10 (62) - 控件(媒体类): InkCanvas 保存和加载, 手写识别
[源码下载] 背水一战 Windows 10 (62) - 控件(媒体类): InkCanvas 保存和加载, 手写识别 作者:webabcd 介绍背水一战 Windows 10 之 控件(媒体类) ...
- re模块 模块
import re findall() 烦的奥 import re # 1. findall 查找所有结果,数据不是特别庞大 lst = re.findall('a','abcsdfasdfa') ...
- 【Java初探01】——Java简介及相关
Java 简介 java 是一种高级的面向对象的程序设计语言,使用Java语言编写的程序时跨平台的.从pc到手机,都有Java开发的程序和游戏,Java程序可以在任何计算机,操作系统和支持的Java的 ...
- Linux巩固记录(8) Hbase shell 基本使用
继续前几篇内容,讲解hbase基本使用 1.进入hbase shell: hbase有很多种操作方式,比如shell,java客户端,webUI等,可以直接输入hbase进行提示 [root@mast ...
- WebRTC开发基础(WebRTC入门系列1:getUserMedia)
什么是WebRTC WebRTC由IETF(Internet Engineering Task Force——互联网工程任务组)和W3C(World Wide Web Consortium——万维网联 ...
- Vue2.5开发去哪儿网App 第三章笔记 上
1. vue 生命周期函数 每个 Vue 实例在被创建之前都要经过一系列的初始化过程.例如,实例需要配置数据观测(data observer).编译模版.挂载实例到 DOM ,然后在数据变化时更新 ...