最近微信小程序非常热,许多人正在学习。让我们带大家为微信小程序构建调试环境(客户端+服务器),并调试一组演示源代码(基于JavaScript和node.js,微信推荐的语言,没有前端编程基础,只需转到新手教程,只需学习JavaScript,node.js,mysql),这对每个人都很方便。
微信小程序设置环境的两个必要点:云服务器,域名,下面的分步将演示如何在阿里云服务器上构建微信小程序服务器环境。
1、云服务器准备:可以从阿里云购买轻量级应用服务器或Ecs服务器
有关ECS使用云服务器的官方教程
云服务器的优惠活动
选择CentOS当前用于系统镜像的免费Linux系统。它与ubuntu基本相同。您可以在首次购买时享受更大的折扣,也可以根据需要购买。
如果需要进行微信小程序分发,则可以直接购买Ali的自营移动分发商城(包括小程序商城)
2、域名准备:也可以购买阿里云服务器,可以随意购买最便宜的域名后缀
购买域名后,将域名解析添加到您先前购买的服务器的IP地址中,然后您需要申请ssl证书(博客实际上是在阿里云上免费申请的,但似乎我现在找不到它,不确定,您可以在百度第三方应用程序上下载它
阿里云可以再次免费申请证书。在阿里云上注册域名后,控制台域名-域名列表
两个条件都准备好后,我们将开始构建微信小程序的服务器环境。
1、设置一个远程连接服务器(浏览器操作太笨拙),控制台找到自己的轻量级应用服务器,并设置远程连接密码
设置密码
如果您未安装纯centos环境,则阿里云安装的软件不是很有用,您可以重置系统
使用ssh工具连接到服务器并安装所需的环境:(node.js,nginx,mysql5.7)
一、安装node.js
新目录www
mkdir / www
cd / www
下载nodejs
wget
解压缩
tar -xvf节点-v8.2.1-linux-x64.tar.xz
测试安装是否成功
进入解压目录下的bin目录并执行ls命令
cd node-v8.2.1-linux-x64 / bin && ls
有节点和npm
测试
./ node -v
成功安装
现在节点和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安装nginx
安装完成后,将显示“ Complete!”,您可以通过以下命令检查Nginx是否已成功安装:
nginx -v
三、安装mysql5.7
1、配置YUM源
#下载mysql源安装包
wget
#安装mysql源代码
yum localinstall mysql57-community-release-el7-8.noarch.rpm
检查mysql源是否已成功安装
已启用百胜重制| grep“ mysql。*-community。*”
2、安装MySQL
yum安装mysql-community-server
3、启动MySQL服务
systemctl启动mysqld
检查MySQL的启动状态
shell> systemctl状态mysqld
4、启动
systemctl启用mysqld
systemctl守护程序重新加载
5、修改根本地登录密码
完成mysql安装后,将在/var/log/mysqld.log文件中为root生成一个默认密码。通过以下方式找到root默认密码,然后登录mysql进行修改:
grep“临时密码” /var/log/mysqld.log
登录并修改默认密码
mysql -u根-p
mysql> ALTER USER'root'@'localhost'的身份由“新密码!”;
创建一个名为cAuth的新数据库,排序规则为utf8mb4_unicode_ci,在后台使用的小程序
mysql>如果不存在cAuth,则创建数据库,排序规则为DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
已安装服务器使用的工具软件,在下面导入SSL证书,并测试nginx。
新/数据/发行版/ nginx
使用sftp软件(FileZilla)连接到服务器,并将ssl证书放入/ data / release / nginx目录
上传后在服务器上查询
上传证书后,您可以开始配置Nginx,进入服务器的/etc/nginx/conf.d目录,创建一个新的weapp.conf文件,将该文件复制到本地,打开以进行编辑,以及编写以下配置(请配置将其修改为您自己的域名,包括证书文件):
upstream app_weapp { server localhost:5757; keepalive 8;}server { listen 80; server_name www.yudingfan.com; rewrite ^(.*)$ https://$server_name$1 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; proxy_cache_bypass $http_upgrade; }}
修改后,将此文件上传到服务器,然后在ssh中输入:
nginx -t
如果显示以下信息,则说明配置成功:
配置成功后,输入nginx并按Enter键启动Nginx。
如果您访问/ weapp / a域名,它将自动跳转到HTTPS并显示502 Bad Gateway,这表示配置成功:
如果失败,请使用netstat -ntpl检查是否启用了nginx的https监视(端口443)
到目前为止,服务器环境已完全设置
登录小程序官方网站,注册一个帐户,获取AppID(小程序 ID),AppSecret(小程序密钥),配置服务器域名,提交后可以填写域名,以及所有归档操作可以在阿里云上进行,大约一周左右
下载小程序开发工具,
下载演示源代码:链接:密码:knsw
使用开发工具打开演示源代码。
在服务器中编辑config.js(首先在服务器上创建目录/ data / release / weapp,这是下面的rootPathname)
const CONF = { port: '5757', rootPathname: '', // /data/release/weapp // 微信小程序 App ID appId: '', // 微信小程序 App Secret appSecret: '', // 是否使用腾讯云代理登录小程序 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/capi qcloudAppId: '你的腾讯云 AppID', qcloudSecretId: '你的腾讯云 SecretId', qcloudSecretKey: '你的腾讯云 SecretKey', wxMessageToken: 'weixinmsgtoken', networkTimeout: 30000}module.exports = CONF
红色单引号是所有必填字段。修改服务器后,在客户端中修改主机:“您申请的域名”
配置完所有内容之后,现在您需要将服务器端代码上传到服务器上的/ data / release / weapp目录中,
服务器代码上传后,在cd / data / release / weapp下
发送代码后,请执行以下操作:
输入以下命令将npm源切换到淘宝镜像,以防止官方镜像下载失败:
npm配置设置注册表
使用npm安装全局依赖项
npm install -g pm2
然后安装本地依赖项:
npm安装
然后使用演示代码中的tools / initdb.js工具初始化数据库:
节点工具/initdb.js
成功初始化将提示“数据库初始化成功!”
然后执行以下代码以启动Node.js
节点app.js
成功完成上述操作后,Wafer Demo在您的服务器上的部署完成。直接访问您的域名/ weapp /登录,它将提示:
{“代码”:-1,“错误”:“ ERR_HEADER_MISSED”}
表示配置成功。您现在可以使用开发人员工具进行联合调试和测试!
最后,单击小程序开发工具以测试登录界面并请求登录状态,如下所示:
正确的操作如下:
现在您可以开发自己的小程序
以下是需要学习的相关知识
javaScript
node.js
mysql
学习小程序时还会有一本书。现在小程序相关书籍的内容差异很小,主要是新书。博客作者在JD.com上找到了这本书,并于2018年1月初出版。是的,我向所有人推荐一本相对较新的书。也许每个人都不喜欢阅读和学习,但我仍然认为有一本书可供学习。这本书的内容可以在网上找到,但是一本书是有组织的。该过程仍然相当不错,首先学习什么,然后学习什么。
“ 小程序,智能应用程序:微信小程序开发实战,第二版”