小程序 环境

从0到1,手把手教你搭建微信小程序 微信小程序开发是一个充满挑战与机遇的领域。从前期的准备工作,到深入理解开发框架,再到一步步实现页面布局、逻辑交互和数据处理,每一个环节都需要我们精心打磨。在开发过程中,我们难免会遇到各种问题,但只要掌握正确的方法,不断积累经验,就能顺利解决。同时,小程序的测试与上线也是至关重要的环节,它确保了小程序能够以最佳状态呈现在用户面前。而优化与推广则是让小程序持续发展、吸引更多用户的关键。通过性能优化,我们可以提升小程序的运行效率和用户体验;通过有效的推广策略,我们可以扩大小程序的知名度和影响力。 阅读详情

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

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

1、云服务器准备:可在阿里云购买轻量应用服务器(幸运卷,使用幸运卷可以参加抽奖和最高七五折优惠)


系统镜像选择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://$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 回车,即可启动 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 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

红色单引号里面都是必填项,修改好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"}
则表示配置成功。你现在可以使用开发者工具来进行联调测试啦!



最后在小程序开发工具上点击测试登陆接口和请求登陆状态如下:



正确运行如下:



到此你就可以开发自己的小程序了


下面是需要学习的相关知识

javaScript

node.js

mysql

还有就是学习小程序的时候最好是有本书,现在小程序相关书,内容差异都不大,主要是要新,博主在京东上找了本2018年1月初出版的,比较新的一本书推荐给大家,可能大家都不太喜欢看书学习,但是还是觉得有本书可以有个流程学习,书上的内容网上都能找的到,但是一本书籍整理的流程还是挺好的,先学什么,再学什么。

小程序服务器部署 每一个小程序在与指定域名地址进行网络通信前都必须将该域名地址添加到管理员后台白名单中。 阅读详情

相关推荐

从0开始搭建微信小程序(前后端)的全过程

有段时间比较闲就尝试着做了一个微信小程序,一是为了锻炼自己独立部署一个前后端全链路系统的能力,二是想做一个自己都想用的小程序出来。方向是让用户可以集中获取优质的电影、音乐、书籍、游戏等信息的推荐,那什么是优质的信息呢?我这里假设的是排行榜里越靠前的信息就越是优质的信息,于是就做了一个这几类信息的排行榜小程序,当然排行的信息不是我随便瞎编的,数据来源主要是豆瓣以及其他一些排行网站,希望排行数据是权威和客观的,能最大化的减少用户获取优质资源的成本。

djemx2025的博客 3159

Linux 环境的搭建方式

这里点开就可以操作,这里我们可以改一下登录密码。

Jason_from_China的博客 1828

小程序开发特辑—小程序申请及开发环境搭建

  互联网巨头们都热衷于搭建平台,希望能够打造自己的生态,依靠生态公司开发各种各样的应用来满足用户的需求。这其中涉及到两个比较大的问题:一方面巨头的腿需要足够粗,这样生态公司才愿意花时间和精力在这些平台上;另一方面如何管控这些生态公司,保证它们能够提供相对一致的用户体验,这样不至于出现“生态繁荣了,但体验下降了”的局面,小程序应运而生。   2017微信发布小程序,之后各大互联网巨头都推出了自己的小程序。但只有微信小程序支持个人开发者,其他小程序均需要企业认证,顾本特辑只能以微信小程序为例,结合小编自己开发

languan_tech的博客 1万+

微信小程序image属性 mode 的几种模式

mode 有效值: mode 有 13 种模式,其中 4 种是缩放模式,9 种是裁剪模式。 模式 值 说明 缩放 scaleToFill 不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素 缩放 aspectFit 保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。 缩放 aspectFill 保持纵横比缩放图片,只保证图片的短边能完全显示出来。也...

qq_43146962的博客 5608

【微信小程序】云开发环境的搭建

微信小程序云开发环境搭建零基础教程

weixin_42404834的博客 9356

小程序开发起步-小程序宿主环境

在生成页面的时候,小程序框架会把data数据和index.wxml一起渲染出最终的结果,于是就得到了你看到的小程序的样子了。通过这个章节,我们以及大概了解了小程序运行的一些基本概念,当你开发完第一个小程序之后,你就需要发布你的小程序,在下个章节,你就会知道发布前需要做些什么准备了。首先,我们来简单了解以下小程序的允许环境,小程序的运行环境分成渲染层和逻辑层,其中WXML模板和WXSS样式工作在渲染层,JS脚本工作在逻辑层。需要注意的是,多数的API的回调都是异步,你需要处理好代码逻辑的异步问题。

cheese的博客 1491

【微信小程序】小程序的宿主环境

微信小程序之小程序的宿主环境,持续更新微信小程序系列专栏

hacker707的博客 4206

【微信小程序 | 实战开发】开发环境、测试环境和生产环境

开发环境: 一、概念 二、开发环境的组成 三、配置基本流程及流程总结: 测试环境: 一、概述: 测试环境的秩序体现在以下几个环节: 生产环境(线上环境): 一、概述: 二、上线原则 总结

鱼干的博客 2万+

小程序环境搭建

小程序的开发开发环境搭建还是比较麻烦的,下面就简单介绍以下环境搭建。详细的使⽤,可以查看官⽹ https://developers.weixin.qq.com/miniprogram/dev/devtools/devtools.html。

个人博客,记录了本人学习的各种有趣的技术。 1408

【微信小程序 | 实战开发】配置开发环境、生产环境和API

配置开发环境、生产环境和API的使用 写在前面: 一、配置开发环境 1.1 项目目录: 1.2 JSON 配置 1.3 工具配置 project.config.json 1.4 页面配置 page.json 1.5 小程序的数据绑定 1.6 sitemap 配置 1.7 小程序的wxss文件 二、配置生产环境 2.1 完成账号关联和实名认证 2.2 进行生产环境初始化: 2.3 (云)服务器环境部署(基于Ubuntu) 三、小程序API 3.1 事件监听 API 3.2 同步 API 3.3 异步 API

鱼干的博客 1934

keil软件调试(Debug)仿真教程(软件调试和硬件调试的区别)及常用调试按键详解

单片机的调试分为两种,一种是使用软件模拟调试,第二种是硬件调试,两种调试方式各有不同,软件模拟调试有误差,而硬件调试,借用仿真器调试是嵌入式开发中常用方法。

weixin_51624736的博客 3万+

【小程序测试环境】

小程序测试环境是专门用于测试小程序功能和性能的一套独立环境,它能够确保在不影响生产环境的前提下,对小程序进行充分的测试和优化。综上所述,小程序测试环境在小程序的开发和上线过程中扮演着至关重要的角色。它不仅确保了小程序的功能和性能能够在不影响生产环境的情况下得到充分验证,还为开发者提供了便捷的预览和调试工具。在建立测试环境时,开发者应注意API和语法的差异、WXSS渲染的差异,并严格管理测试版本的发布流程。

商城 / Java 商城 -首选 商城 开源 电商 商城 源码 商城 2557

智能车竞赛飞檐走壁组立体赛道电磁引导线设计与实现

本文深入解析了智能车竞赛飞檐走壁组立体赛道电磁引导线的核心设计与实现。针对垂直面、圆筒、跷跷板等立体元素,详细阐述了电磁线规格参数选择、三维空间铺设技巧及磁场调试方法,旨在帮助参赛队伍打造稳定可靠的导航系统,提升车模在复杂立体赛道上的通过率与稳定性。

bert9linguist的博客 281

小程序内嵌H5 判断是小程序环境还是微信环境

咱们先要用<web-view></web-view>组件来内嵌H5 ,那么在H5的js里面 就要判断好 当前H5打开的环境是啥! 第一步,需要引入js的SDK文件,如下: <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></scrip...

zengZeng的博客 3022

CODESYS EtherCAT通讯断了怎么办?手把手教你用ST语言写状态监测程序(附完整代码)

本文详细解析了CODESYS平台下EtherCAT通讯中断的故障排查与恢复方法,通过ST语言编写状态监测程序实现链路监测、故障隔离和伺服恢复。文章包含完整代码示例,帮助工程师快速诊断EtherCAT网络问题,提升工业自动化设备的运行稳定性。

weixin_30919571的博客 209

单细胞测序数据整合

基于Seurat 联合harmony进行单细胞数据整合分析

G2530051386的博客 9792

判断h5页面是小程序环境还是微信环境

1.话不多说直接上代码,已使用有效 <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script> <script> var ua = navigator.userAgent.toLowerCase(); if(...

weixin_30457065的博客 1646

SOC、SOH、OCV

1)放电实验法的测量SOH结果最为准确,但是深度放电会对影响电池的寿命;2)电阻折算法仅将电阻作为评价SOH的依据,但电池老化时电阻的变化范围较小,因此该方法的误差较大;3)电阻折算法需要对电池进行大量的实验,绘制成Map图,但是该方法有一定的局限性,针对不同的电池需要绘制不同的Map图;4)阻抗分析法是目前最为前沿的方法,可以根据阻抗谱较为直观的分析SOH的变化,但是该方法需要的成本较高,每台设备约为5万美元。

m0_61973119的博客 2万+

钉钉小程序如何判断其当前环境

前段时间公司要做一个内部给销售用的钉钉小程序,因为之前刚做了一个微信小程序(也是一边学一边做,各种采坑,近期会总结一些踩过的坑,大家一起学习),本以为也就差不多,结果…一言难尽,今天就来说说我查了半天才找到的能判钉钉小程序当前环境的一个变量。 ...

keloneko的博客 3816

[毕设项目-大模型微调]现代文翻译文言文【基于LLaMA3.1-8B微调】

教你基于LLaMA3.1-8B微调如何做到现代文翻译文言文

逐梦苍穹的博客 2296

基于STM32的嵌入式平台实现EtherCAT主站

本文将介绍如何在基于STM32的嵌入式平台上构建EtherCAT主站,并提供相应的源代码。使用SOEM库提供的API函数,我们可以实现与EtherCAT从站设备的实时通信和数据交换。在STM32的代码中,使用SOEM库提供的API函数初始化EtherCAT主站。在SOEM库中,我们可以找到EtherCAT主站的实现代码和相关的API函数。使用SOEM库提供的API函数实现EtherCAT主站的功能,包括发送和接收EtherCAT数据帧、处理从站设备的状态等。确保连接正常并且设备能够相互通信。

CodeSageX的博客 2833

小程序的环境搭建

在正式开发微信小程序前,需要先进行开发前的准备工作,包括注册微信小程序开发账号,获取微信小程序AppID,安装微信开发者工具和创建微信小程序项目。

m0_65843128的博客 429

37.华为路由器:loopback(本地回环)接口的作用

本地环回接口(或地址),亦称回送地址(loopback address)。 此类接口是应用最为广泛的一种虚接口,几乎在每台路由器上都会使用。常见于如下用途: 1 作为一台路由器的管理地址 系统管理员完成网络规划之后,为了方便管理,会为每一台路由器创建一个loopback 接口,并在该接口上单独指定一个IP 地址作为管理地址 ,管理员会使用该地址对路由器远程登录(telnet ),该地址实际上起到了类似设备名称一类的功能。 但是通常每台路由器上存在众多接口和地址,为何不从当中随便挑选一个呢 ? 原因如下:由于

迷逝 3万+

从零开始:小程序开发环境搭建详解

本文主要介绍了如何搭建小程序开发环境,并介绍了小程序开发的基本概念和开发流程。首先,文章介绍了小程序开发的基本要求和开发工具的安装方法,包括微信开发者工具和编辑器等。然后,文章通过实例介绍了小程序的基本结构和页面开发流程,并介绍了如何通过模板和组件开发加快开发速度。最后,文章介绍了如何通过调试和发布小程序来完成开发流程,同时给出了一些常见问题的解决方法。本文适合初学者了解小程序开发的基础知识和开发流程,帮助读者更快速地上手小程序开发。

全栈弄潮儿 7117

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

微信小程序-小程序的宿主环境

微信小程序的宿主环境

m0_53154393的博客 1066

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

智能小程序环境配置流程

确定环境配置兼容后,App 才能启动并运行小程序。

IoT砖家 1505

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

上一篇: Cetos gitlab
下一篇: nginx 多站点配置
乡愁入我心
博客等级 码龄10年 23粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值