微信小程序自 2017 年推出以来,以其轻量级级特性,为传统移动互联网格局带来了极大的震动。相对于传统 APP,小程序无需下载,即扫即用,用完即走,极大的节省了手机的空间,提高了用户使用的便利性。
本文主要是介绍了如何基于滴滴云的服务器来从零搭建一个微信小程序。
准备域名和证书
在小程序的生产环境,为了安全性考虑,需通过 HTTPS 来访问小程序的后台服务,因此在搭建之前,我们要准备域名和 SSL 证书等。
域名注册
如果你还没有域名,请购买自己的域名。由于我国对于互联网的监管比较严格,所有国内服务器的一级域名均需要备案。因此我们在购买域名时需确保域名后缀能够备案。
在滴滴云控制台-备案中可以进行域名的备案操作。
域名解析
域名注册完成后,需要将域名解析到云主机服务器上。域名设置解析后需要一段时间才能生效,可以通过 Ping 命令检查域名是否生效。
若 Ping 命令中返回的信息中包含你设置解析的 IP 地址,即解析成功。
申请 SSL 证书
可在滴滴云-安全-证书管理中申请 SSL 证书。
搭建 HTTP 服务
下面介绍如何在服务器使用 Node 和 Express 搭建一个 HTTP 服务器。
安装 NodeJs 和 NPM
可前往 Node 官方网站下载最新的 bin 包
下载 Node 压缩包
1 2 |
wegt -c https://nodejs.org/dist/v10.14.1/node-v10.14.1-linux-x64.tar.xz |
解压
1 2 3 |
tar -xvf node-v10.14.1-linux-x64.tar.xz mv node-v10.14.1-linux-x64.tar.xz ~/app/nodejs |
检测是否安装成功
1 2 |
~/app/nodejs/bin/node -v |
设置为全局指定
1 2 3 |
sudo ln –s ~/app/nodejs/bin/node /usr/local/bin/node sudo ln –s ~/app/nodejs/bin/npm /usr/local/bin/nom |
安装 Nginx
NodeJs 是单进程语言,因此我们可通过 NodeJs 与 Nginx 结合实现多进程的 NodeJS 负载均衡管理,并可以将一些静态文件直接通过 Nginx 代理,提高性能。
安装
1 2 |
yum –y install nginx |
检测安装状态
1 2 |
nginx –v |
安装 MySQL
下载 MySQL 源安装包
1 2 |
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm |
安装 MySQL 源
1 2 |
yum localinstall mysql57-community-release-el7-8.noarch.rpm |
安装 MySQL
1 2 |
yum install mysql-community-server |
启动 MySQL 服务
1 2 |
systemctl start mysqld |
导入 SSL 证书
新建 /data/release/nginx
目录,将 SSL 证书放在该目录下。
配置 Nginx
1 2 3 |
cd /ect/nginx/conf.d touch weapp.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
upstream app_weapp { server localhost:5757; keepalive 8; } server { listen 80; server_name 你自己的域名; rewrite ^(.*)$ https://$server_name$1 permanent; } server { listen 443; server_name 你自己的域名; ssl on; ssl_certificate /data/release/nginx/你自己的证书.crt; ssl_certificate_key /data/release/nginx/你自己的证书.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA; ssl_session_cache shared:SSL:50m; ssl_prefer_server_ciphers on; location / { proxy_pass http://app_weapp; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } |
可在执行 Nginx 前,通过 nginx -t
命令来检测当前配置文件是否正确。
配置成功后,启动 Nginx,在浏览器上访问 http://你的域名/weapp/
会自动跳转到 HTTPS 上,并显示 502 Bad Gateway
,则表示配置成功。
搭建微信小程序开发环境
在搭建好服务端环境后,我们需要完成客户端小程序开发环境的搭建。
注册开发者账号
前往微信公众平台进行开发者账号注册
配置小程序服务器信息
登入微信公众平台后,依次进入设置-开发设置-服务器域名,扫码完成身份校验后,在对应服务器配置信息处正确填写自己的合法域名。
下载小程序配套开发工具
前往开发者工具下载小程序开发工具。
下载后安装并启动,通过微信扫码进入,并填写对应配置:
- 项目目录:指定小程序所在目录路径
-
项目名称:填写任意你喜欢的名称
-
AppID:可在微信公众平台-设置-开发设置中查询
在创建小程序项目时,可自定义选择初始化项目的模版类型。
调用服务端接口
现在我们可以直接通过小程序 API 去访问我们域名服务器下的服务了:
1 2 3 4 5 6 7 8 |
wx.request({ url: '你的域名服务', method:'post', success: res => { }, fail: err => {} }) |
最后
现在小程序自己已经支持了云开发,开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。
参考文章:
https://blog.csdn.net/li420248878/article/details/79120604
https://cloud.tencent.com/developer/article/1146450
本文作者:祝宇新