本来是想写基于腾讯云搭建微信小程序服务器的,可惜腾讯云让我有点不好的体验,所以就先放弃使用腾讯云了。所以转而在阿里云上注册了域名和购买了云服务器ECS。
ECS的配置是弹性的,可以根据自己的需要来选择合理的配置,如果你是个初学者为了学习用的话,一开始选择最低配置就行了。
因为在小程序的生产环境中,为了安全考虑,调用服务器的REST API或WebSocket的话,服务器必须提供安全的链接地址(如https://mydomain/myservice, wss://mydomian),即需要使用SSL。所以我们需要为我们的服务器购买CA证书和域名。
在阿里云上注册域名还是很方便的,可以到https://wanwang.aliyun.com这个页面去注册一个。而CA证书,很多国内外机构都提供证书签发认证,国内的比如沃通,国外的如Symantec,这个证书还是有点贵的,根据证书的不同功能,价格也是相差很大,最便宜的也要好几百一年。现在也有免费的证书可以使用,比如Let's Encrypt。不过,阿里云上也提供了免费的证书,申请起来很方便,我们就来看看怎么申请阿里云里的免费证书。
从阿里云的页面顶部菜单“产品与服务”里面,可以看到“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服务啦!这只是一个简单的开始,还有很多服务器端开发和配置的东西在等着你!
如果在配置的过程中有什么问题,可以和我交流哦。谢谢大家阅读本文,不对之处不吝赐教和指正啊~~