处理koa中快进的问题
![b030c3619aef0e4b75ae21f8658368bd.png](https://i-blog.csdnimg.cn/blog_migrate/287f3a44e4703466a9050c96a47b5a8a.jpeg)
![e606369e3f07dbbfe0af90e96c8cdfaa.png](https://i-blog.csdnimg.cn/blog_migrate/0d1769828d2a27d3c02c81ea6d8ea32a.png)
部署
---
- NodeJs是基于V8解析引擎并执行的,所以不同于其他后端语言,需要先编译后才能在服务器运行
- node是解释型的语言,本身就能直接运行
- NodeJs自身又包含服务器,所以当启动了NodeJs的程序,就会在使用当前机器的公网IP并监听端口运行服务器
- 包含服务器的node,自己就可以跑
- 无需单独编译和服务器的支持
PM2
- 管理node项目,让其永不关闭的一个容器
- forever(没有pm2好用)
- 保障服务器不会挂掉
- 1.
npm i -g pm2
pm2 start ./xxx.js --name projectname
- 其他命令
- `js
pm2 examples // 查看常用示例
pm2 [start||restart||stop||delete] all||name||id // 重启
pm2 show name||id // 查看信息
pm2 list // 查看项目
pm2 flush // 清空日志
pm2 log name||id // 查看日志
- `js
#### nginx负载均衡
*
* 配置1:
* ```python
upstream localhost {
ip_hash; # nginx内置的处理
server localhost:8000 weight=1;
server localhost:8001 weight=1;
}
#server {.......
location / {
proxy_pass http://localhost;
}
查看环境变量
- linux: /etc/profile文件中 export 环境变量=值
- 执行坏境变量更新命令
source /etc/profile
- windows我的电脑-> 右键属性 -> 高级系统设置 -> 环境变量
- 或者命令行 set回车
有时IP不是固定的
- ip_hash 是解决通过IP地址来分配不同服务器的,对不同服务器以绑定的方式分解压力。
- 同时又能实现登录后,还访问其他服务器导致登录状态不一的解决方案
- 但是其并不是真正的session共享,真正的共享还是在数据库存储
redis
- redis数据库以键值对的方式存储数据,并将数据在内存中以快照的方式存储,一定时间内批量写入到文件,因此速度及性能非常好
- 进入到目录,启动服务器 redis-server
- 安装windows服务
./redis-server –service-install ./redis.windows.conf
- 运行客户端
redis-cli
- 相关命令
- 获取帮助
help
- 查询所有的key
keys *
- 添加或更新一个数据
SET key value [EX seconds] [PX milliseconds] [NX|XX]
set test 1 EX 10 NX
- 表示插入test:1数据 保存10秒
- NX 不存在数据才插入
- XX 存在数据才插入
- 表示插入test:1数据 保存10秒
- 获取value
get key
- 删除key
del key
- 插入数组
- sadd key [...values]
- 查看数组数据
- smembers key
http://weixin.qq.com/r/3ETTy5zEIcFerdio9xHO (二维码自动识别)
- smembers key
- 获取帮助