阿里云搭建微信小程序生产环境

准备工作

云服务器准备

前往阿里云官网购买云服务器ECS,我买的是每月九块的学生机

选择合适的服务器镜像,有很多免费好用的镜像,省去了安装配置各种服务的功夫

这里推荐选择包含 Nginx MySQL PHP 的 CentOS 镜像

域名准备

前往阿里云官网购买一个域名

域名需要备案,大约需要一周时间

给域名添加到服务器的解析
mark
mark

SSL证书准备

前往腾讯云官网按流程申请SSL证书
mark

服务器端搭建

使用Xshell连接服务器,因为已经选过镜像(假设已经选了\滑稽),所以就不在赘述服务器环境的安装,用到时自己尝试安装也不迟

MySQL配置

进入MySQL,新建数据库cAuth
CREATE DATABASE IF NOT EXISTS cAuth CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

导入SSL证书

使用sftp软件将nginx证书放到新建的/data/release/nginx目录
mark

Nginx配置

/etc/nginx/conf目录下新建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
upstream app_weapp {
server localhost:5757;
keepalive 8;
}

server {
listen 80;
server_name yourdomain;

rewrite ^(.*)$ https://$server_name$1 permanent;
}

server {
listen 443;
server_name www.yourdomain;

ssl on;

ssl_certificate /data/release/nginx/1_www.yourdomain_bundle.crt;
ssl_certificate_key /data/release/nginx/2_www.yourdomain.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 -t

成功后重启nginx
service nginx restart

若访问你的域名会自动跳转到https上说明配置成功
mark

若没有自动跳转或https访问失败尝试以下两点

检查阿里云端口过滤

阿里云服务器需要到控制台添加443安全组规则消除端口过滤
mark

检查nginx端口监听

输入netstat -nptl
mark
若没有443端口说明nginx没有监听https

在nginx.conf文件中http{}里添加如下配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
server {
listen 443;
server_name www.yourdomain;

ssl on;

ssl_certificate /data/release/nginx/1_www.yourdomain_bundle.crt;
ssl_certificate_key /data/release/nginx/2_www.yourdomain.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;
}
}

小程序开发工具

登陆小程序官网,注册账号,获取AppID(小程序ID),AppSecret(小程序密钥),配置服务器域名,域名需要备案后才能填写
mark

下载小程序开发工具

下载demo代码

编辑server中的config.php

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
/**
* Wafer php demo 配置文件
*/

$config = [
'rootPath' => '/data/release/weapp',

// 微信小程序 AppID
'appId' => '你的appid',

// 微信小程序 AppSecret
'appSecret' => '你的appsecret',

// 使用腾讯云代理登录
'useQcloudLogin' => false,

/**
* MySQL 配置,用来存储 session 和用户信息
* 若使用了腾讯云微信小程序解决方案
* 开发环境下,MySQL 的初始密码为您的微信小程序 AppID
*/
'mysql' => [
'host' => 'localhost',
'port' => 3306,
'user' => 'root',
'db' => 'cAuth',
'pass' => '你的mysql password',
'char' => 'utf8mb4'
],

'cos' => [
/**
* 区域
* 上海:cn-east
* 广州:cn-sorth
* 北京:cn-north
* 广州二区:cn-south-2
* 成都:cn-southwest
* 新加坡:sg
* @see https://www.qcloud.com/document/product/436/6224
*/
'region' => 'cn-sorth',
// Bucket 名称
'fileBucket' => 'wafer',
// 文件夹
'uploadFolder' => '',

// 其他配置
'serverHost' => '你的域名',
'tunnelServerUrl' => 'http://tunnel.ws.qcloud.la',
'tunnelSignatureKey' => '27fb7d1c161b7ca52d73cce0f1d833f9f5b5ec89',
// 腾讯云相关配置可以查看云 API 秘钥控制台:https://console.cloud.tencent.com/capi
'qcloudAppId' => 你的qcloudappid,// 必须是数字
'qcloudSecretId' => '你的qcloudSecretId',
'qcloudSecretKey' => '你的qcloudSecretKey',
'networkTimeout' => 30000
],

// 微信登录态有效期
'wxLoginExpires' => 7200,
'wxMessageToken' => 'abcdefgh'
];

接着修改client中的config.js

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
/**
* 小程序配置文件
*/

// 此处主机域名修改成腾讯云解决方案分配的域名
var host = 'https://你的域名';

var config = {

// 下面的地址配合云端 Demo 工作
service: {
host,

// 登录地址,用于建立会话
loginUrl: `${host}/weapp/login`,

// 测试的请求地址,用于测试会话
requestUrl: `${host}/weapp/user`,

// 测试的信道服务地址
tunnelUrl: `${host}/weapp/tunnel`,

// 上传图片接口
uploadUrl: `${host}/weapp/upload`
}
};

module.exports = config;

接着将 server 目录下的所有文件都上传到 /data/release/weapp/php-demo 目录下
mark

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 准备工作
    1. 1.1. 云服务器准备
    2. 1.2. 域名准备
    3. 1.3. SSL证书准备
  2. 2. 服务器端搭建
    1. 2.1. MySQL配置
    2. 2.2. 导入SSL证书
    3. 2.3. Nginx配置
      1. 2.3.1. 检查阿里云端口过滤
      2. 2.3.2. 检查nginx端口监听
  3. 3. 小程序开发工具