最近微信小程序异常火爆,很多人在学习,下面带着大家搭建下微信小程序的调试环境(client+server),并调试一套demo源码(JavaScript和node.js基础即可,微信推荐使用的语言,无前端编程基础,去菜鸟教程简单学习下 JavaScript,node.js,mysql即可),方便大家学习。

微信小程序搭建环境必需的两点:云服务器,域名,下面一步步给搭建演示如果在一台阿里云服务器上搭建微信小程序服务端环境。

1、云服务器准备:可在阿里云购买轻量应用服务器或者ECS服务器(点此领取现金卷)

领取现金券最低2折优惠,付款时候还可以使用现金劵

系统镜像选择CentOS 目前用的比较多的免费Linux系统,和ubuntu基本一样,首次购买可享受比较大的优惠,可以根据自己需要购买

如果是需要做微信小程序分销的可以直接购买阿里自营的移动分销商城(包含小程序商城)

2、域名准备:阿里云服务器也可购买,这个可以随意购买个最便宜的随意后缀的域名

域名购买后,添加域名解析到前面购买的服务器IP地址上,然后需要申请ssl证书(博主实在阿里云上免费申请的,但是好像现在找不到了,不确定,大家也可以百度下第三方申请)

阿里云又可以免费申请证书了,在阿里云注册域名以后,控制台-域名-域名列表

两个条件准备好以后我们下面开始搭建微信小程序的服务器环境。

1、设置远程连接服务器(浏览器操作太别扭),控制台找到自己的轻量应用服务器,并设置远程连接密码

设置密码

如果大家安装的不是纯净的centos环境,阿里云配套安装的软件不是很好用,可以重置系统

使用ssh工具连接服务器,安装需要的环境:(node.js、nginx、mysql5.7)

一、安装node.js
新建目录www
mkdir /www
cd /www

下载nodejs
wget https://npm.taobao.org/mirrors/node/v8.2.1/node-v8.2.1-linux-x64.tar.xz

解压
tar -xvf node-v8.2.1-linux-x64.tar.xz

测试是否安装成功
进入解压目录下的 bin 目录,执行 ls 命令
cd node-v8.2.1-linux-x64/bin && ls
有node 和 npm
测试
./node -v

安装成功
现在 node 和 npm 还不能全局使用,做个链接
ln -s /www/node-v8.2.1-linux-x64/bin/node /usr/local/bin/node
ln -s /www/node-v8.2.1-linux-x64/bin/npm /usr/local/bin/npm
现在可以全局使用了

二、安装nginx

Node.js 是单进程的,我们可以通过多开 Node.js 并配合 Nginx 来实现多进程 Node.js 负载均衡,并且一些静态文件我们也可以直接通过 Nginx 代理,提高性能。其中第一步就是安装 Nginx。
通过 SSH 连接上云服务器,直接使用包管理工具 yum 安装 Nginx 即可:

yum -y install nginx
安装完成之后会显示 Complete!,可以通过如下命令检查 Nginx 是否安装成功:

nginx -v

三、安装mysql5.7

1、配置YUM源

下载mysql源安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

安装mysql源

yum localinstall mysql57-community-release-el7-8.noarch.rpm

检查mysql源是否安装成功
yum repolist enabled | grep “mysql.-community.

2、安装MySQL
yum install mysql-community-server

3、启动MySQL服务
systemctl start mysqld

查看MySQL的启动状态
shell> systemctl status mysqld

4、开机启动
systemctl enable mysqld
systemctl daemon-reload

5、修改root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
grep ‘temporary password’ /var/log/mysqld.log

登陆并修改默认密码
mysql -u root -p

mysql>ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码!’;

新建一个数据库名为 cAuth,排序规则为 utf8mb4_unicode_ci,小程序后台用到
mysql>CREATE DATABASE IF NOT EXISTS cAuth,排序规则为 DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;

服务端使用的工具软件已经安装好了,下面导入ssl证书,测试下nginx,

新建/data/release/nginx

使用sftp软件(FileZilla)连接服务器,把ssl证书放到/data/release/nginx目录下

上传后服务器上查询

上传完证书以后,可以开始配置 Nginx,进入服务器的 /etc/nginx/conf.d 目录,新建一个weapp.conf 文件,将文件拷贝到本地,打开编辑,写入如下配置(请将配置里 wx.ijason.cc 修改为你自己的域名,包括证书文件):

upstream app_weapp {server localhost:5757;keepalive 8;}server {listen 80;server_name www.yudingfan.com;rewrite ^(.*)https://https:// https://server_name1 permanent;}server {listen      443;server_name www.yudingfan.com;ssl on;ssl_certificate           /data/release/nginx/1_www.yudingfan.com_bundle.crt;ssl_certificate_key       /data/release/nginx/2_www.yudingfan.com.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 Upgrade1 permanent;}server {listen      443;server_name www.yudingfan.com;ssl on;ssl_certificate           /data/release/nginx/1_www.yudingfan.com_bundle.crt;ssl_certificate_key       /data/release/nginx/2_www.yudingfan.com.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 Upgrade1 permanent;}server {listen 443;server_name www.yudingfan.com;ssl on;ssl_certificate /data/release/nginx/1_www.yudingfan.com_bundle.crt;ssl_certificate_key /data/release/nginx/2_www.yudingfan.com.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;proxycachebypasshost;proxycachebypasshost;proxy_cache_bypass http_upgrade;}}

修改完将这个文件上传到服务器上,然后在 ssh 中输入:

nginx -t

配置成功之后,输入 nginx 回车,即可启动 Nginx。

如果访问 http://你的域名/weapp/a 会自动跳转到 HTTPS 上,并显示 502 Bad Gateway,则表示配置成功:

如果没有成功,使用netstat -ntpl查看下 nginx的https监听是否启动(443端口)

至此,服务端的环境已经完全搭建好了

登陆小程序官网,注册账号,获取AppID(小程序ID),AppSecret(小程序密钥),配置服务器域名,域名需要备案后才能填写,备案全部操作可以在阿里云网上进行,大概1周左右

下载小程序开发工具,

下载demo源码:链接:https://pan.baidu.com/s/1i6I831z 密码:knsw

使用开发工具打开demo源码。

编辑server中的config.js(先在服务器上创建一下目录/data/release/weapp,也就是下面的rootPathname)

const CONF = {port: ‘5757’,rootPathname: ”, // /data/release/weapp// 微信小程序 App IDappId: ”, // 微信小程序 App SecretappSecret: ”,// 是否使用腾讯云代理登录小程序useQcloudLogin: true, // 可直接使用微信登陆小程序/* MySQL 配置,用来存储 session 和用户信息 * 若使用了腾讯云微信小程序解决方案 * 开发环境下,MySQL 的初始密码为您的微信小程序 appid /mysql: {host: ‘云数据库内网IP’,port: 3306,user: ‘root’,db: ‘cAuth’,pass: ‘云数据库密码’,char: ‘utf8mb4’},cos: {/* * 区域 * 华北:cn-north * 华东:cn-east * 华南:cn-south * 西南:cn-southwest * 新加坡:sg * @see https://cloud.tencent.com/document/product/436/6224 */region: ‘cn-south’,// Bucket 名称fileBucket: ‘qcloudtest’,// 文件夹uploadFolder: ”},// 微信登录态有效期wxLoginExpires: 7200,// 其他配置 …serverHost: ‘你的域名’,tunnelServerUrl: ‘http://tunnel.ws.qcloud.la‘,tunnelSignatureKey: ‘27fb7d1c161b7ca52d73cce0f1d833f9f5b5ec89’,// 可以注册一个腾讯云账号,获取一下配置。腾讯云相关配置可以查看云 API 秘钥控制台:https://console.cloud.tencent.com/capiqcloudAppId: ‘你的腾讯云 AppID’,qcloudSecretId: ‘你的腾讯云 SecretId’,qcloudSecretKey: ‘你的腾讯云 SecretKey’,wxMessageToken: ‘weixinmsgtoken’,networkTimeout: 30000}module.exports = CONF

红色单引号里面都是必填项,修改好server后,修改下client中的host:”你申请的域名”

都配置好以后,现在需要将server端的代码上传的服务器上的/data/release/weapp目录下,

server代码上传后,cd /data/release/weapp下

代码传完后做如下操作:

输入以下命令切换npm 源到淘宝镜像,防止官方镜像下载失败:

npm config set registry https://registry.npm.taobao.org

使用npm安装全局依赖

npm install -g pm2

然后安装本地依赖:

npm install

接着使用 Demo 代码里的 tools/initdb.js 工具初始化数据库:

node tools/initdb.js

初始化成功则会提示“数据库初始化成功!”
接着执行如下代码启动 Node.js

node app.js

顺利完成以上操作,就完成了 Wafer Demo 在自己服务器上的部署。直接访问 http://你的域名/weapp/login,会提示:

{“code”:-1,”error”:”ERR_HEADER_MISSED”}
则表示配置成功。你现在可以使用开发者工具来进行联调测试啦!

阿里云服务搭建微信小程序开发环境相关推荐

  1. 一键搭建微信小程序开发环境 及demo运行(腾讯云上一键搭建node.js服务器环境,PHP,Java,.NET服务类似)

    一.首先准备下本地环境(本地就需要一个微信开发工具) 1.首先得有一个微信小程序账号,登陆微信小程序首页:mp.weixin.qq.com,点击右上角立即注册. 注册登陆后,首页填写一些小程序基本信息 ...

  2. 基于mpvue框架搭建微信小程序开发环境

    一.按照mpvue官网新建前台工程 http://mpvue.com/mpvue/quickstart.html(mpvue快速上手教程) 二.路由功能代码实现 mpvue对vue-router的支持 ...

  3. 一篇文入门微信小程序开发环境搭建

    2017年小程序发布以来,经过近5年的发展,微信小程序开发已经日趋成熟.越来越多的商家已经开通了线上的电商小程序,一个是给店铺引流,另一方面也是更好的为顾客服务. 本文利用一定的篇幅讲解一下微信小程序 ...

  4. 微信小程序开发环境搭建(超详细)

    微信小程序开发环境的搭建是很简单的 首先我们需要是登录微信公众平台 微信公众平台 点击右上角立即注册 注册账号类型选择小程序 进入注册界面后按提示完成账号信息 邮箱激活 信息登记 注册完成后界面如下, ...

  5. 关于微信小程序开发环境苹果IOS真机预览报SSL协议错误问题解决方案

    关于微信小程序开发环境苹果IOS真机预览报SSL协议错误问题解决方案 参考文章: (1)关于微信小程序开发环境苹果IOS真机预览报SSL协议错误问题解决方案 (2)https://www.cnblog ...

  6. 微信小程序开发环境(阿里云服务搭建+可运行的demo)

    最近微信小程序异常火爆,很多人在学习,下面带着大家搭建下微信小程序的调试环境(client+server),并调试一套demo源码(JavaScript和node.js基础即可,微信推荐使用的语言,无 ...

  7. 华为云物联网平台微信小程序开发教程2.0【完整详细教程】

    一.简介   在之前曾发布过一篇文章"华为云物联网平台的微信小程序开发",在最近接到部分用户私信在使用开发过程中出现的问题,例如API访问的"401"现象等问题 ...

  8. 微信小程序开发环境搭建

    转载自:http://blog.csdn.net/xiehuimx/article/details/52629657 现真是轰炸了整个开发人员,当然很多App开发人员有了一个担心,微信小程序的到来会不 ...

  9. 搭建微信小游戏开发环境总结

    这篇文章主要解决以下问题 1.一键申请泛域名证书并到期自动更新 2.Nginx配置https 3.本地资源映射到外网 4.介绍CocosCreator构建发布微信小游戏时远程服务器地址如何配置 文章目 ...

最新文章

  1. typedef用法小结
  2. 独家|测量、建议、快速上手!你所使用的Python对象占用了多少内存?(附代码)...
  3. 源码编译 busybox
  4. flaming pear flood中文版
  5. 【问链财经-区块链基础知识系列】 第三十三课 区块链溯源方案设计-中检集团区块链溯源平台
  6. shell脚本备忘录
  7. 【EasyNetQ】- 使用Future Publish调度事件
  8. Matplotlib 中文用户指南 3.8 路径教程
  9. java处理报错的快捷键_java快捷键
  10. Axure移动端通用元件库rplib格式包含安卓、苹果各种主流手机、平板线框图元件库、IOS系统图标、人物图标、导航和分页、表格元素、各种小图标等
  11. padavan支持惠普打印服务器,【完美解决】openwrt共享hp1020打印机,HP/惠普打印机_好文分享_优购 - 荐优,购适...
  12. python无人驾驶技术_智能汽车无人驾驶资料调研(一)
  13. Linux 阻塞和非阻塞I/O
  14. Android12前台服务问题
  15. 搞定签到码,一切皆可码!!!微信小程序篇
  16. 关于研发规范化的一些实践和思考
  17. MinIO客户端mc基础命令学习
  18. 蓝牙遥控器连接流程分析
  19. Android recycleView滑动与bottomsheet 冲突解决
  20. word文档中设置的行距一样但实际显示的不一样

热门文章

  1. 【Windows】虚拟机配置及Win7电脑搭建服务器
  2. 可以帮助提升程序员高效工作效率的常用小工具推荐
  3. @31省区市高考时间表来了,祝考试成功
  4. 程序员求职简历,项目经验怎么写?免费修改简历并提供简历模板
  5. unity鼠标固定在屏幕中间_unity3D技术之屏幕内跟随鼠标移动
  6. 在MingW上更新的G ++获取大量错误消息(G++ updated on MingW gets massive error messages)
  7. Tr1 Function
  8. 企业如何管理特权账号?
  9. Win系统 - 关于GPU,你需要长的“姿势”
  10. AcWing蓝桥杯AB组辅导课08、数论