最近在自学小程序,但是网上大部分重点都放在了界面的设计上,涉及到后端的很少,博主索性写点博客总结一下。

#0X01  node.js环境搭建

不同于其他教程,本系列先重点介绍服务器端,后续再介绍客户端。

首先安装node.js环境,这里的系统使用的是CentOs7(我在腾讯云租的服务器,学生优惠一个月10块),用的源码安装。

1.下载源码

登录node.js官网,选择Source Code,一般我会选择LTS版本;或者使用命令行获取,不过要提前知道版本号:

wget http://nodejs.org/dist/v8.12.0/node-v8.12.0.tar.gz

2.安装c、c++环境

由于node.js是依靠c、c++环境的,我们首先需要安装c和c++环境。

yum -y install gcc
yum -y install gcc-c++

3.解压源码(最好安装和解压在同一个目录下)

tar zxvf node-v8.12.0.tar.gz

4.编译安装

cd node-v0.10.24
./configure --prefix=/usr/local/node/0.10.
make
make install

这里的/usr/local/node/0.10.24就是安装的位置,make过程会有点漫长,需要耐心等待。

5.配置“快捷方式”路径

vim /etc/profile

然后在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:

#set for nodejs
export NODE_HOME=/usr/local/node/0.10.
export PATH=$NODE_HOME/bin:$PATH

:wq保存并退出,编译/etc/profile 使配置生效

source /etc/profile

6.验证安装

在命令行输入node -v ,输出v8.12.0即安装完成。

#0X02  nginx环境搭建

安装好node.js后,理论上可以直接进行开发,但是由于小程序规定只能使用https链接,所以要用到nginx做反向代理。

1.安装nginx

nginx在yum包中,可以直接安装:

yum install nginx -y

2.安装ssl证书

ssl证书的获取就不说了,我用过腾讯云和阿里云的服务器,都是有免费证书的,这里就不详说,详细介绍一下ssl证书的安装。

ssl证书获取到后,找到对应的服务器软件(这里使用的nginx),打开该文件夹,将其中的两个文件(.crt和.key)拷贝到/etc/nginx下。

然后在 /etc/nginx/conf.d 目录下创建 ssl.conf 文件,并输入以下内容(拷贝自腾讯云实验室

server {
listen ;
server_name www.example.com; # 改为绑定证书的域名
# ssl 配置
ssl on;
ssl_certificate 1_www.example.com_bundle.crt; # 改为自己申请得到的 crt 文件的名称
ssl_certificate_key 2_www.example.com.key; # 改为自己申请得到的 key 文件的名称
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1. TLSv1.;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on; location / {
proxy_pass http://127.0.0.1:1234;
}
}

[注1]:有很多教程会修改上级目录中的nginx.conf文件,其实在本目录下创建任何*.conf文件和直接添加到nginx.conf文件中效果一样,这里我认为单独修改https路由比较方便

[注2]:proxy_pass http://127.0.0.1:1234中的1234可以修改为任意端口号,只要和后面讲到的app.js中端口号一致即可,这里就先随便设置一个,但要保证1024<port<65536(系统保留)

3.测试nginx

安装好后就可以进行测试,输入以下命令,若无报错则测试通过:

nginx

这是nginx启动命令,nginx关闭命令为:

nginx -s stop

至此,nginx安装完成,可以进行下一步程序操作。

#0X03  小程序环境搭建

小程序环境搭建相对于node.js就简单许多,直接在官网下载,然后根据提示安装即可,对下载工具之前要在平台注册小程序。

但是比较麻烦的是小程序获取appid,需要在官网申请等,虽然麻烦,但是不难,一点点都能弄好。

#0X04  附注

node.js有一个好用的进程管理包,叫PM2,我觉得最实用功能是可以让node程序在后台运行,不占用前台资源,如果有兴趣可以先安装好,感觉费劲的可以以后回过头再安装。这里我就简单介绍一下

1.安装

npm install -g pm2

2.使用

cd /你的文件目录
pm2 start app.js

3.退出

pm2 stop app.js

最后,希望大家能查一下npm是个什么东西,理解一下。

[小程序]_ELVE_小程序开发(1)的更多相关文章

  1. 微信小程序的认识和开发适用性

    来源:三节课课堂笔记 小程序认知 初识小程序.   目前微信小程序包括各类公众号接口的情况:   那么微信拥有的功能产品和对应的互联网产品有哪些:   小程序相当于AppStore应用分发市场:   ...

  2. 微信小程序购物商城系统开发系列-目录结构

    上一篇我们简单介绍了一下微信小程序的IDE(微信小程序购物商城系统开发系列-工具篇),相信大家都已经蠢蠢欲试建立一个自己的小程序,去完成一个独立的商城网站. 先别着急我们一步步来,先尝试下写一个自己的 ...

  3. 微信小程序购物商城系统开发系列-工具篇

    微信小程序开放公测以来,一夜之间在各种技术社区中就火起来啦.对于它 估计大家都不陌生了,对于它未来的价值就不再赘述,简单一句话:可以把小程序简单理解为一个新的操作系统.新的生态,未来大部分应用场景都将 ...

  4. 微信小程序购物商城系统开发系列

    微信小程序购物商城系统开发系列 微信小程序开放公测以来,一夜之间在各种技术社区中就火起来啦.对于它 估计大家都不陌生了,对于它未来的价值就不再赘述,简单一句话:可以把小程序简单理解为一个新的操作系统. ...

  5. 在WePY中实现了小程序的组件化开发,组件的所有业务与功能在组件本身实现,组件与组件之间彼此隔离,上述例子在WePY的组件化开发过程中,A组件只会影响到A所绑定的myclick

    wepyjs - 小程序组件化开发框架 https://tencent.github.io/wepy/document.html#/?id=%e5%be%ae%e4%bf%a1%e5%b0%8f%e7 ...

  6. 微信小程序开发系列一:微信小程序的申请和开发环境的搭建

    我最近也刚刚开始微信小程序的开发,想把我自学的一些心得写出来分享给大家. 这是第一篇,从零开始学习微信小程序开发.主要是小程序的注册和开发环境的搭建. 首先我们要在下列网址申请一个属于自己的微信小程序 ...

  7. Vue/小程序/小程序云+Node+Mongo开发微信授权、支付和分享

    大家好,我是河畔一角,今天给大家介绍我的第三门实战课程:基于微信开发的H5.小程序和小程序云的授权.支付和分享专项课程. 一.这一次为什么会选择微信支付和分享的课题呢? 金庸的小说中曾提到:有人的地方 ...

  8. 支付宝小程序室内地图导航开发-支付宝小程序JS加载esmap地图

    如果是微信小程序开发,请参考微信小程序室内地图导航开发-微信小程序JS加载esmap地图文章 一.在支付宝小程序里显示室内三维地图 需要满足的两个条件 调用ESMap室内地图需要用到小程序web-vi ...

  9. 微信小程序_(校园视)开发视频的展示页_上

    微信小程序_(校园视) 开发用户注册登陆 传送门 微信小程序_(校园视) 开发上传视频业务 传送门 微信小程序_(校园视) 开发视频的展示页-上 传送门 微信小程序_(校园视) 开发视频的展示页-下 ...

随机推荐

  1. spring boot hello world

    本文讲解初始用户搭建spring boot 工程. 新建工程目录结构: application.java放在最外层的包目录里 先添加pom.xml的依赖包: <project xmlns=&qu ...

  2. 记录前台js判断,如果为空,給议空的占位

    这个主要是根据所有的值,按顺序输出,如果没有值,就给予空的占位, //页面加载的时候获取左边和右边的所有游客id       var array_left_start = new Array();   ...

  3. 转载: http状态码

    消息   这一类型的状态码,代表请求已被接受,需要继续处理.这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束.由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在 ...

  4. Write CSV file for a dataset

    import numpy as np import cv2 as cv2 import os import csv dataste_path = 'datasets/pascal-parts/pasc ...

  5. 剖析一个用C++写的行情交易系统

    最近hen ci hen ci用C++写完了一整套证券行情系统,但是不是服务沪深交易所的,是给文交所用的.整个系统涵盖了从DBF文件解析开始到客户端展现这一整条逻辑.想来一年多没有更新博客了,所以趁这 ...

  6. web应用及web.xml

    一.创建web应用 1.在任意目录新建webDemo文件夹 2.在webDemo下新建WEB-INF文件夹(注意大小写) 3.在WEB-INF中新建web.xml文件(可以copy已有的web应用中的 ...

  7. numpy 库使用

    numpy 库简单使用 一.numpy库简介 Python标准库中提供了一个array类型,用于保存数组类型的数据,然而这个类型不支持多维数据,不适合数值运算.作为Python的第三方库numpy便有 ...

  8. java基础知识—抽象和封装

    1.从现实中抽象出类的步骤: 1)找出它的种类--类名 2)找出它的属性--字段的名称 3)找出它的行为--方法名 2.抽象的原则:根据面向对象的思想抽象出类. 3.类图的好处:直观.容易理解. 4. ...

  9. 原生Ajax--XmlHttpRequest对象和jQuery.ajax()

    Ajax主要就是使用 [XmlHttpRequest]对象来完成请求的操作,该对象在主流浏览器中均存在(除早起的IE) 1.XmlHttpRequest对象介绍 XmlHttpRequest对象的主要 ...

  10. JS 最简单数组去重

    ,,,,])) // 再把set转变成array console.log(newArr) // [1,2,3,4]