1. 程式人生 > >微信小程式之PHP伺服器搭建

微信小程式之PHP伺服器搭建

    在去年的時候,參加過學校的一個創業活動,在團隊決定做一個關於圖書的微信小程式以後,我負責做微信小程式的後臺程式,因為初次接觸,決定選用較為簡單的PHP作為後臺語言,實現了微信小程式的一些基本功能,例如對微信前段來的圖片文字進行儲存,或者接收到前端傳來的關鍵字對伺服器裡的資料進行查詢並返回前端,利用前端傳來圖書的ISBN碼呼叫第三方豆瓣圖書介面進行圖書資訊查詢,最後還有比較難實現的微信支付功能,在這之前走了許多彎路,都是一步一步探索,在這裡,將自己曾經的一些寫下來,希望能幫助到大家。

    微信小程式的進入門檻是相當高的,首先要進行微信小程式開發必須要有一個微信公眾號:

這個一般人還是比較難申請的,此外微信小程式對伺服器要求是非常高的,首先無法像做Android程式開發時自己用自己筆記本裝個Linux再裝個apache及其它程式就可以實現演示,它必須要求伺服器要有公網域名,並且使用https而不是http

,針對這個要求我將來一步一步講我的伺服器架設過程。

    首先對於公網ip我們可以直接購買大公司的雲伺服器,這裡強烈推薦阿里雲的伺服器,阿里在這一塊佈局很大,投入也很多,因此我選擇的是阿里雲的伺服器,利用學生優惠,可以使伺服器租金降到10元左右一個月,購買好伺服器以後,便有了公網IP,在雲服務控制檯是可以看到的,在購買好雲伺服器以後,緊接著需要配PHP開發環境,這裡推薦在阿里云云市場直接購買(好多是免費的)安裝,映象市場地址如下:https://market.aliyun.com/?spm=5176.730005.584769.1.Uvgnef

      

我當時用的是中電雲集映象,搜尋框搜尋(雲集PHP執行環境(CentOS7.2|Apache|PHP5.5)

),安裝好以後,按理說我們直接在瀏覽器訪問我們伺服器的IP地址,是會出現預設的index.php頁面的,但是居然沒有。。。一直顯示訪問不了,這是一個大坑,注意了!當時為這個問題排查了好久,雲伺服器防火牆什麼設定什麼都鼓搗了好一陣子,可是就是連不上!!!找了大概有一兩天的原因,最終找到了!!!請往下看! :

1.1 雲伺服器控制檯開放埠

原因在於阿里云云端是預設關閉所有埠的,因此需要在雲端控制檯放行22埠,這樣才能順利使用,過程如下:

1.     進入安全組規則介面

 

2.     點選右方藍字配置規則,進入如下介面


3.     點選右上角新增安全規則,進入如下介面


按照自己需要的埠輸入相應資料即可,點選確定,然後伺服器便可以正常訪問。這裡我強烈要吐槽一下阿里,這得給開發者一個提示啊,像我這樣新手之前沒用過為了找這個原因,找了好久,這本不應該發生的,阿里雲應該給新手提示。

1.2域名申請及備案 

接下來就要開始在萬網給自己伺服器公網IP申請域名,並繫結公網IP,這一步驟按著提示一步一步來很簡單沒問題,但是。。。申請完域名,不代表。。。你就可以通過域名進行訪問,因為,必須要備案!要備案!要備案!備案過程照著提示一步一步來:

1.登入備案系統,按要求填寫備案資訊,並提交至備案初審。

該操作中需要上傳電子版證件資料:個人備案請提前準備好個人證件掃描件或照片,例如身份證、護照等;企業備案請提前準備好企業證件及負責人證件掃描件或照片,例如營業執照、組織機構程式碼證等。

2.收到初審結果,按要求辦理拍照。

3.等待管局稽核結果

具體備案流程如下:

1.登入備案系統,填寫備案的域名及主體證件資訊,系統核實域名及主體證件號碼未存在已備案記錄,判斷此次備案為首次備案

2. 填寫產品資訊驗證,不同的產品驗證方式也不同。

3.填寫網站資訊,如有多個網站提交申請,在填寫完網站資訊可單擊儲存,並繼續新增網站

4.  如無其他網站備案,直接上傳備案資料

5.  稽核期間一般會有工作人員給你打電話,問你關於伺服器將用來做什麼的對話,注意一定要盡力避免說論壇之類多人線上交流的軟體(你懂得),因此在會聯絡您在備案資訊中留下的聯絡電話,因此請保持電話暢通。

6.提交備案至初審。

7.初審通過後,登入備案系統申請幕布,收到幕布後自行拍照並上傳照片稽核(拍照前請先檢視拍照說明,並避免身著紅色或藍色上衣進行拍照)

9. 提交照片,完成稽核。

10. 等待管局操作,這一步大概需要等上不到一週吧,效率還是挺高的,點個贊。

11. 最終一切不出意外的話,就會備案成功!!(這裡為了隱私。。隱去我的名字。。。)


到這裡,伺服器就可以通過域名進行訪問了。。。但是。。。你以為這就結束了嗎?!並沒有!!!且往下看!1.3 https及安全證書

微信小程式開發對安全性要求非常高,因此是不能用http協議與伺服器互動資訊的,得使用安全性更高的https進行互動,接下來我將配置https步驟記錄下來:

1.      安裝mod_sll

我們通過線上安裝方式 sudoyum install mod_sll,之後一路選擇y即yes即可安裝完畢。

2.      配置mod_sll

(1)   建立伺服器金鑰

cd /etc/pki/tls/certs/進入HTTP伺服器配置檔案所在目錄

make server.key建立伺服器金鑰

接下來會要求輸入口令,及確認口令,按照提示輸入即可

(2)    建立伺服器公鑰

make server.csr建立伺服器金鑰

接下來會要求輸入很多資訊,按照提示輸入即可:如下圖


輸入完畢後,進行下一步

(3)   建立伺服器證書,命令如下

openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 365  ← 建立伺服器證書

chmod 400 server.*    ← 修改許可權為400

(4)    設定ssl檔案

vi /etc/httpd/conf.d/ssl.conf修改SSL的設定檔案

#DocumentRoot "/var/www/html"找到這一行,將行首的“#”去掉↓

DocumentRoot "/var/www/html"變為此狀態

(5)重新啟動HTTP服務,讓SSL生效

/etc/rc.d/init.d/httpd restart  ←重新啟動HTTP伺服器

3.      這時伺服器能通過https進行訪問,但是,在瀏覽器訪問時https是紅色的,如下圖所示:


這是因為。。沒有給伺服器裝安全證書,接下來我們還是到阿里雲伺服器管理控制檯,有一個證書服務:

點進去


右上角有一個購買證書,點進去,如下圖所示:


為了省錢購買了最便宜的免費證書,但是支援的專案較少,但是完全夠開發使用然後點選立即購買,按照提示一步步走,最終獲得證書,如下圖所示:


然後在證書詳情右側區域,新增自己的網站域名,點選下一步


填寫相關資訊:


最後一步 按要求上傳相關資訊即可安裝好認證證書,再次訪問伺服器時就會發現伺服器那把安全的小綠鎖了:


至此,微信小程式開發時完成的伺服器配置任務徹底完成。可以盡情的開發啦!對了要在微信公眾平臺的小程式開發設定裡面加入域名及php檔案路徑哦!