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

#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. optimal-account-balancing

    一群朋友去度假,有时互相借钱. 例如,爱丽丝为比尔的午餐支付了 10 美元.后来克里斯给爱丽丝 5 美元搭出租车.我们可以假设每笔交易为一个三元组(X,Y,Z),这意味着第 X 个人借给第 Y 个人  ...

  2. 第4次作业 -- 基于Jenkins的持续集成

    Jenkins 配置使用心得 先在 https://jenkins.io/download/ 下载Jenkins 下载之后安装,在指定的地方找到了初始密码,安装了一些插件之后,Jenkins就可以使用 ...

  3. LeetCode 56 合并区间

    题目: 给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [ ...

  4. pypyodbc 的坑

    1, 你要先确认你自己的office的版本, 你要安装access dabase engine. 但是 sb 微软的驱动 32位的不让装, 64位的也不让装, 吐槽微软100次---MS个大SX. 最 ...

  5. Python数据库连接池---DBUtils

    Python数据库连接池DBUtils   DBUtils是Python的一个用于实现数据库连接池的模块. 此连接池有两种连接模式: 模式一:为每个线程创建一个连接,线程即使调用了close方法,也不 ...

  6. Linux基础命令--date

    date命令格式用法 yao@yao:~/shells/tmp$ date +%Y%m%d20190405 yao@yao:~/shells/tmp$ date +%Y%m%d%H%M%S201904 ...

  7. RPC 知识科普一下

    RPC概念及分类 RPC全称为Remote Procedure Call,翻译过来为“远程过程调用”.目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用 ...

  8. css清除浮动方式总结

    1.通过父元素overflow:hidden,缺点:超出部分隐藏,不推荐使用 <!DOCTYPE html> <html lang="en"> <he ...

  9. Redis高可用方案----Redis主从+Sentinel+Haproxy

    安装环境 这里使用三台服务器,每台服务器上开启一个redis-server和redis-sentinel服务,redis-server端口为6379,redis-sentinel的端口为26379. ...

  10. vue created中初始化属性

    created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图. mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作