独立部署小程序基于nodejs的服务器过程详解


Posted in NodeJs onJune 24, 2019

前言

完全自定义的部署小程序服务器, 不依托于腾讯云服务器体系.

以阿里云服务器为基础建立.

服务器语言选用nodejs.

目的

  • 实现https基本访问请求
  • 实现会话管理
  • 实现socket长连接
  • 一个基于socket的小游戏

源代码在这里:

基础要求

  • 有一台服务器(在外网能访问的服务器)
  • 有一个已经备案的域名(必须备案)
  • 有一个已经申请的https证书域名(二级即可)

客户端代码:

独立部署小程序基于nodejs的服务器过程详解

独立部署小程序基于nodejs的服务器过程详解

我的实验环境:

服务器:阿里云云服务器ecs

备案域名: 9z9z.vip

https证书(ca证书): (免费型DV SSL)

https证书申请域名: wuxing.9z9z.vip

配置nodejs环境

登录服务器, 安装nodejs环境

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
yum install -y nodejs

查看nodejs版本.

node -v

安装配置mongode环境

# 安装mongodb及客户端工具
yum install mongodb-server mongodb -y
#建立mongo数据和日志存储目录
mkdir -p /data/mongodb
mkdir -p /data/logs/mongodb
# 启动mongo
mongod --fork --dbpath /data/mongodb --logpath /data/logs/mongodb/weapp.log
# 键入mongo控制台,添加用户
mongo
> use weapp;
> db.createUser({ user: 'weapp', pwd: 'weapp-dev', roles: ['dbAdmin', 'readWrite']});
或者 
db.addUser({ user: 'weapp', pwd: 'weapp-dev', roles: ['dbAdmin', 'readWrite']}); 
> exit;

安装pm2, nodejs服务器管理器

npm install pm2 -g

修改源代码中的appid和appSecretId

在, 微信小程序后台, 设置->开发设置中获取.

独立部署小程序基于nodejs的服务器过程详解

上传源代码中的server目录到服务器目录,安装node依赖包

npm install

启动服务器

pm2 start app.js

配置nginx, 部署https证书

安装nginx服务器

yum install nginx -y

将申请的ssl证书上传到/etc/nginx目录中.

打开新建配置/etc/nginx/conf.d/ssl.conf

# WebSocket 配置
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 443;
server_name wuxing.9z9z.vip; # 改为绑定证书的域名
# ssl 配置
ssl on;
ssl_certificate 214355946590.pem; # 改为自己申请得到的 crt 文件的名称或者绝对路径
ssl_certificate_key 214355946590.key; # 改为自己申请得到的 key 文件的名称或者绝对路径
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
# WebSocket 配置
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
location / {
proxy_pass http://127.0.0.1:8765;
}
}

重新启动nginx

service nginx reload
或者 nginx -s reload

此时直接在浏览器中会有正常输出的字符串:Response from express

服务器配置成功.

设置小程序的服务器域名

打开小程序后台, 设置 -> 开发设置. 设置服务器域名

独立部署小程序基于nodejs的服务器过程详解

打开小程序开发工具

配置appid

独立部署小程序基于nodejs的服务器过程详解

打开app.js, 将config.host改为设置的网址."wuxing.9z9z.vip"

独立部署小程序基于nodejs的服务器过程详解

完成.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
nodejs之请求路由概述
Jul 05 NodeJs
nodejs中实现sleep功能实例
Mar 24 NodeJs
NodeJS和BootStrap分页效果的实现代码
Nov 07 NodeJs
nodejs实现发出蜂鸣声音(系统报警声)的方法
Jan 18 NodeJs
nodejs实现邮件发送服务实例分享
Mar 29 NodeJs
nodejs制作爬虫实现批量下载图片
May 19 NodeJs
详解nodejs微信jssdk后端接口
May 25 NodeJs
webpack打包nodejs项目的方法
Sep 26 NodeJs
nodejs异步编程基础之回调函数用法分析
Dec 26 NodeJs
nodejs微信开发之自动回复的实现
Mar 17 NodeJs
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
Apr 29 NodeJs
Nodejs监控事件循环异常示例详解
Sep 22 NodeJs
nodejs实现获取本地文件夹下图片信息功能示例
Jun 22 #NodeJs
NodeJs 模仿SIP话机注册的方法
Jun 21 #NodeJs
通过Nodejs搭建网站简单实现注册登录流程
Jun 14 #NodeJs
NodeJs生成sitemap站点地图的方法示例
Jun 11 #NodeJs
nodejs提示:cross-device link not permitted, rename错误的解决方法
Jun 10 #NodeJs
Nodejs异步流程框架async的方法
Jun 07 #NodeJs
nodejs log4js 使用详解
May 31 #NodeJs
You might like
php公用函数列表[正则]
2007/02/22 PHP
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
Javascript 汉字字节判断
2009/08/01 Javascript
javascript 检测浏览器类型和版本的代码
2009/09/15 Javascript
JavaScript的public、private和privileged模式
2009/12/28 Javascript
JavaScript生成随机数的4种自定义函数分享
2015/02/28 Javascript
JavaScript基于ajax编辑信息用法实例
2015/07/15 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
[01:11:28]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第一场 1月8日
2021/03/11 DOTA
Python标准库之sqlite3使用实例
2014/11/25 Python
python概率计算器实例分析
2015/03/25 Python
Python中Threading用法详解
2017/12/27 Python
python实现求两个字符串的最长公共子串方法
2018/07/20 Python
python3+requests接口自动化session操作方法
2018/10/13 Python
python找出完数的方法
2018/11/12 Python
python中实现控制小数点位数的方法
2019/01/24 Python
Django框架视图函数设计示例
2019/07/29 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
Python3 JSON编码解码方法详解
2019/09/06 Python
浅析css3中matrix函数的使用
2016/06/06 HTML / CSS
canvas三角函数模拟水波效果的示例代码
2018/07/03 HTML / CSS
中国酒类在线零售网站:酒仙网
2016/08/20 全球购物
生产车间班组长岗位职责
2014/01/06 职场文书
清华大学自主招生自荐信
2014/01/29 职场文书
迎新晚会主持词
2014/03/24 职场文书
优秀教师感人事迹材料
2014/05/04 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
2015年电话客服工作总结
2015/05/18 职场文书
导游词之江南周庄
2019/12/06 职场文书
分享node.js实现简单登录注册的具体代码
2022/04/26 NodeJs
httpclient调用远程接口的方法
2022/08/14 Java/Android