本來是想寫基於騰訊雲搭建微信小程序服務器的,可惜騰訊雲讓我有點不好的體驗,所以就先放棄使用騰訊雲了。所以轉而在阿里雲上註冊了域名和購買了雲服務器ECS。
ECS的配置是彈性的,可以根據自己的需要來選擇合理的配置,如果你是個初學者為了學習用的話,一開始選擇最低配置就行了。
ECS配置選購界面
因為在小程序的生產環境中,為了安全考慮,調用服務器的REST API或WebSocket的話,服務器必須提供安全的鏈接地址(如mydomain/myservice, wss://mydomian),即需要使用SSL。所以我們需要為我們的服務器購買CA證書和域名。
在阿里雲上註冊域名還是很方便的,可以到wanwang.aliyun.com這個頁面去註冊一個。而CA證書,很多國內外機構都提供證書籤發認證,國內的比如沃通,國外的如Symantec,這個證書還是有點貴的,根據證書的不同功能,價格也是相差很大,最便宜的也要好幾百一年。現在也有免費的證書可以使用,比如Let's Encrypt。不過,阿里雲上也提供了免費的證書,申請起來很方便,我們就來看看怎麼申請阿里雲裡的免費證書。
從阿里雲的頁面頂部菜單“產品與服務”裡面,可以看到“CA證書服務”:
CA證書服務菜單
進入頁面後,點擊頁面右上角的“購買證書”按鈕,進入證書選擇界面:
證書選擇
在這裡可以選擇“免費型DV SSL”證書,這種證書購買一個證書只能對一個明細域名生效,也就是說如果你有幾個子域名,如blog.mydomain.com, www.mydomain.com, shop.mydomain.com的話,你分別需要購買3個證書。購買完成後,可以在你購買的訂單列表裡,點擊“補全”信息,輸入要綁定這個證書的域名,以及你的個人詳細信息等等,提交給簽發機構審核,審核完成後,你之前填寫的郵箱裡也會收到一封如何設置的郵件(這個郵件主要是給域名不是在阿里雲註冊的用戶的設置指南,如果域名在阿里雲註冊,則會自動對你的域名添加解析記錄,不需要你手動去添加)。
然後,請在訂單列表中,點擊“下載”證書文件的按鈕,下載證書文件,裡面包含了一些對於不同http server用的證書,如apache, nginx, IIS等,它們用於配置你服務器上安裝的http server。
我在ECS上安裝的是CentOS,通過yum安裝nginx:
yum install nginx
然後把服務器證書上傳到服務器上,接著配置nginx.conf文件(改配置文件在/etc/nginx目錄下),使其支持https的url訪問:
server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl on; ssl_certificate "xxxxxx.pem"; #你的證書文件中的pem文件 ssl_certificate_key "xxxxxx.key"; #你的證書文件中的key文件 ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; ssl_prefer_server_ciphers on; include /etc/nginx/default.d/*.conf; location / { } }
這樣,你的http server就配置好了。接著,阿里雲的域名解析控制檯中,為你的域名添加一條A解析記錄,將你的域名指向你的ECS服務器的公網IP地址,就行了。
然後,你就可以使用https開頭的url來訪問你的http服務啦!這只是一個簡單的開始,還有很多服務器端開發和配置的東西在等著你!
如果在配置的過程中有什麼問題,可以和我交流哦。