小程序成长之路(四)-- 深入腾讯云(环境搭建)
上周通過小程序開通騰訊云后,做了些簡單的配置,在開發環境可以調通接口,但是有了很多問題:
- 服務器域名如何購買?
- 域名和服務器如何綁定到一起?
- https請求需要證書,在哪里獲得?
- nginx如何配置代理?
- 有了服務器和域名,起了服務就可以訪問域名了嗎?
今天就深入的對這些困惑做一個分析:
在開始之前,需要明確兩件事情!!!
* 不要在意備案問題,域名沒有備案不會影響搭建環境和調接口訪問服務器!
* 安全組的配置非常重要!
1. 購買服務器和域名。
騰訊云
域名和服務器是需要分開購買的,購買完成后,去控制臺可以看到所有信息。
服務器初始的賬號密碼在消息列表里可以看的到。
2. 域名解析(和服務器綁定)。
3. 證書申請(如果不需要走https,這步可以忽略)
申請證書 申請完成以后,把證書下載到本地,在后面配置 nignx 需要用到。
上面的準備工作結束后,開始服務器配置。
網上很多教程都是下載ftp的工具把文件傳入服務器,采取這種方法記得要在安全組配好端口。
- 典型場景配置
我用的是另外一種比較快速的方法:
利用騰訊云的 開發者實驗室:
搜索 基于 CentOS 搭建微信小程序服務:
使用自己申請的服務器上機,當然也可以直接點開始上機,會提供給你一個臨時的服務器ip,用臨時會有些需要自己配置的東西學不到!
下面的操作都是基于自己申請的服務器,如果是臨時的,其實一路按照右邊教程,可以很順利的看到結果,下面就不用看啦。
后來查詢文檔才知道,安全組的權限沒有放開。
| 0.0.0.0/0 | ICMP | 允許 |
在安全組配置后,在此 ping 自己的服務器,就是通的了。
同理,后面需要配置的 http 和 https 都是需要在安全組配置的!!!
不然,你按照教程里的操作,訪問http: //www.自己的域名.xxx 看到的結果只會是下面的樣子:
這里有個天坑要特別注意一下!!!
因為在安全組,配置http端口時,默認是80而且,還是一種置灰的狀態!!很容易讓人就默認選擇80的端口。
所以,當時我就把 app.js 中的8765接口改成了80,在沒有配置 nginx 之前一切都沒有問題,但是按照教程走到后面,nginx 啟動后,修改app.js的內容后 pm2 restart app, 查看日志會發現如下報錯:
Error: listen EADDRINUSE :::80
網上解釋說,端口被占用,開始怎么都想不明白,網上各種辦法都不好使,把流程捋了一邊,發現我pm2 start app.js 后,處理安裝操作,唯一的操作就是nginx,報錯提示我80端口被占用!!!突然想到nginx的默認端口不會是80吧!!!(吃了沒文化的虧。。。。)
google后果不其然!!!端口沖突了!!!回到app.js 換一個端口 8765 ,然后在安全組中添加:
再次執行pm2 restart app, 打印日志:
問題解決!!!
總結:
現在我已經有了自己的服務器和域名,也可以在前端成功的向服務端發起 https 請求。
但是這只是部署層面,其中 nginx 的配置文件,實驗中,前后端代碼中用的一褲,比如: 支持小程序會話的wafer-session, websocket服務器, 進行協程管理的co 函數庫,與mongdb數據庫的通信連接,等等,這些都還沒有認真分析,只是知道個大概,所以會抽時間對四個實驗的源碼進行分析總結。
未完待續。。。
總結
以上是生活随笔為你收集整理的小程序成长之路(四)-- 深入腾讯云(环境搭建)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android生成缩略图-使用Andro
- 下一篇: NLP应该如何学、如何教?斯坦福大学大牛