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

#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. Elasticsearch安装部署教程

    1)下载elasticsearch-1.1.2.zip 2)用ssh工具连接目录主机,在命令窗口输入:mkdir -p /opt/elasticsearch创建elasticsearch文件夹   3 ...

  2. document.onkeydown

    document.onkeydown=function(e) { if(e.keyCode==13) { //当按下回车键,执行我们的代码 } }

  3. 页面制作学习笔记:D2.Photoshop切图基础知识

    一.什么是切图? 切图就是从网页设计稿中切出网页素材,比如一些小的按钮.小的图片.页面的LOGO.网页的背景图片等. 然后就是页面编码,引入图片资源 在HTML里通过 img 标签引入图片资源 < ...

  4. 18-09-11 软件rpm yum rm卸载 和批量删除

    一 在Linux下删除文件用rm命令,具体用法如下: rm [选项] 文件 选项说明: -f -force 忽略不存在的文件,强制删除,无任何提示 -i --interactive 进行交互式地删除 ...

  5. GSM:嗅探语音流量

    GSM: Sniffing voice traffic I wrap up the GSM series with a walkthrough on how to decrypt voice traf ...

  6. .NET并行计算和并发:Task

    任务不是线程. 任务运行的时候需要使用线程,任务并没有取代线程.

  7. java 对同一个文件进行读写操作

    同一个文件是不可以进行同时的读写的,因为我们写入文件会覆盖原文件的,如果这样,对于同一文件来来说,文件发生覆盖,无法进行下次读取 当然,对于两个不同的文件,可以一边读一边写的操作 题目:一个文本中存储 ...

  8. 1--Test NG--常见测试和注解

    第一:注解 (1)@test (2)@BeforeMethod,@AfterMethod (3)@BeforeClass,@AfterClass (4)@BeforeSuite,@AfterSuite ...

  9. 【Coucurrency-CountDownLatch】-20161203-0002

    简介 java异步任务相关的工具.主要用在某些线程需要等到其他线程完成某些操作后才能执行的场景. 等待线程需要显示的调用wait方法,表示线程当前挂起,需要等到countdownLatch到0才执行. ...

  10. react react-native 日期插件 m-date-picker / rmc-date-picker的使用

    m-date-picker 基于 React,提供了 iOS 风格的日期选择方式,与原生 Datepicker 非常相似. 主页: https://github.com/react-component ...