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

#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. Shadow Properties之美(二)【Microsoft Entity Framework Core随笔】

    接着上一篇Shadow Properties之美(一),我们来继续举一个有点啰嗦的栗子. 先看简单需求:某HR系统,需要记录员工资料.需要记录的资料有: 员工号(规则:分公司所在城市拼音首字母,加上三 ...

  2. 掩码图制作----c语言贴图

    1.首先你得有一张图,比如这样的: 2.用PS打开他... 3.左边工具栏里(快速选择工具W),选想显示的部分 4.ctrl+c复制一下,新建一张黑底图粘贴上去或者白底图时选中显示区即花瓣右键反向右键 ...

  3. docker学习端口映射---第二章节

    一.运行一个web应用 首先,下载一个docker镜像: [root@k8s-01 ~]# docker pull training/webapp 运行webapp的容器: [root@k8s-01 ...

  4. php上传文件配置

    根据需要调整php.ini文件内容,完成后重启服务器即可. 上传文件相关配置内容: file_uploads = on ;是否允许通过HTTP上传文件的开关.默认为ON即是开 upload_tmp_d ...

  5. vue的$nextTick使用总结,this.$refs为undefined的解决办法,element Ui的树形控件setCheckedKeys方法无法使用

    其实这3个讲的是一个问题,先说下问题,我在watch里设置一个监听,当弹窗打开时,自动添加树形的默认选中项, 但奇怪的是this.$refs为undefined,自然setCheckedKeys无法使 ...

  6. linux的ls命令中文件颜色含义

    linux命令ls会显示出文件的颜色, 系统约定的默认颜色含义如下: 白色:表示普通文件 蓝色:表示目录 绿色:表示可执行文件 红色:表示压缩文件 浅蓝色:链接文件 主要是使用ln命令建立的文件 红色 ...

  7. commons-dbcp2 新版本2.6使用连接池在关闭服务器的时候会有内存溢出的BUG....

    这是异常信息.本人使用的mysql8.0数据库驱动版本mysql-connector-java Version 8.0.11,发生这种情况的原因主要是Dbcp2的XBasicDataSource在关闭 ...

  8. Java中next()和nextLine()的区别

    首先,next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键.Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后 ...

  9. 2186 Popular Cows

    Popular Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 41771   Accepted: 16955 De ...

  10. [C# 基础知识系列]专题二:委托的本质论 (转载)

    引言: 上一个专题已经和大家分享了我理解的——C#中为什么需要委托,专题中简单介绍了下委托是什么以及委托简单的应用的,在这个专题中将对委托做进一步的介绍的,本专题主要对委本质和委托链进行讨论. 一.委 ...