前言
時隔一年半,再次接觸微信公眾平臺開發。相比于掌上大學、圈里、微站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解決方法