小程序成长之路(四)-- 深入腾讯云(环境搭建)

688 阅读4分钟

上周通过小程序开通腾讯云后,做了些简单的配置,在开发环境可以调通接口,但是有了很多问题:

  • 服务器域名如何购买?
  • 域名和服务器如何绑定到一起?
  • https请求需要证书,在哪里获得?
  • nginx如何配置代理?
  • 有了服务器和域名,起了服务就可以访问域名了吗?

今天就深入的对这些困惑做一个分析:

在开始之前,需要明确两件事情!!!

* 不要在意备案问题,域名没有备案不会影响搭建环境和调接口访问服务器!

* 安全组的配置非常重要!

1. 购买服务器和域名。

腾讯云

域名和服务器是需要分开购买的,购买完成后,去控制台可以看到所有信息。

服务器初始的账号密码在消息列表里可以看的到。

2. 域名解析(和服务器绑定)。

3. 证书申请(如果不需要走https,这步可以忽略)

申请证书 申请完成以后,把证书下载到本地,在后面配置 nignx 需要用到。

上面的准备工作结束后,开始服务器配置。

网上很多教程都是下载ftp的工具把文件传入服务器,采取这种方法记得要在安全组配好端口。

我用的是另外一种比较快速的方法:

利用腾讯云的 开发者实验室

搜索 基于 CentOS 搭建微信小程序服务:

使用自己申请的服务器上机,当然也可以直接点开始上机,会提供给你一个临时的服务器ip,用临时会有些需要自己配置的东西学不到!

下面的操作都是基于自己申请的服务器,如果是临时的,其实一路按照右边教程,可以很顺利的看到结果,下面就不用看啦。

  1. 登陆服务器后,按照右边的操作指引,开始配置,你会发现域名已经解析到服务器了,居然连ping都ping不通!!!

后来查询文档才知道,安全组的权限没有放开。

来源 协议端口 策略
0.0.0.0/0 ICMP 允许

在安全组配置后,在此 ping 自己的服务器,就是通的了。

同理,后面需要配置的 httphttps 都是需要在安全组配置的!!!

不然,你按照教程里的操作,访问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, 打印日志:

问题解决!!!

  1. 上数这些配置和问题解决后,按照教程一步步来基本没有什么坑了当然代码里需要换成自己东西的地方还是要注意一下的,配合 小程序开发者工具 , 可以看到,所有的demo请求都跑的通了!!!

总结:

现在我已经有了自己的服务器和域名,也可以在前端成功的向服务端发起 https 请求。

但是这只是部署层面,其中 nginx 的配置文件,实验中,前后端代码中用的一裤,比如: 支持小程序会话的wafer-session, websocket服务器, 进行协程管理的co 函数库,与mongdb数据库的通信连接,等等,这些都还没有认真分析,只是知道个大概,所以会抽时间对四个实验的源码进行分析总结。

未完待续。。。