一、背景
使用 Sequelize(6.3.4) 进行 MySQL5.1 数据操作,在本地运行没问题,但是推上服务器之后,读写数据都出现了中文乱码的问题。
二、解决过程
第一反应是连接数据库时没设置 UTF8 字符集导致的,于是先设置了字符集。
"解决 Sequelize + MySQL5.1 读写中文乱码"继续阅读
今年 4 月使用 Node 重构了几个 PHP 接口,并使用 PM2 跑在了服务器上,经历了几个迭代以后服务器 CPU 一直 100%,报错日志一直增加,但是由于接口正常运行加上工作比较忙就没管。
"解决服务器运行 Node.js 服务后一直 CPU 100%"继续阅读
在日常的前端开发中,倘若想验证一个业务功能正向性,需要针对部分用户进行灰度实验。
用一个轻量级的 H5 页面做流量中转,收集完用户信息后使用 Ajax
来请求后端接口来判断一个用户是否命中灰度,再通过 location.href
或 location.replace
来做相应的页面跳转。
优点:
缺点:
示例:
ajax.get('https://getwhich.com').then( abValue => { let jumpUrl = 'https://default.com' if (abValue === 'iAmExp') { jumpUrl = 'https://exp.com' } location.href = jumpUrl } )
"使用 Go&MurmurHash&JsonLogic 实现前端资源灰度分流"继续阅读
这一天网站突然打不开报 MySQL 连接错误,上服务器后发现 MySQL 已经停止服务,各种启动无效。经历了一系列搜索和无效的工作后,去云服务上后台看监控,发现硬盘满了。于是得出结论硬盘空间不足会导致 MySQL 服务停止。
切到根目录下使用 du -sh *
查看各目录的占用情况,发现 /root/.pm2
在捣鬼。
20K dump.pm2 16K dump.pm2.bak 33G logs 4.0K module_conf.json 4.0K modules 8.0K pids 16G pm2.log 4.0K pm2.pid 0 pub.sock 0 reload.lock 0 rpc.sock 4.0K touch
于是先删除日志文件,启动 MySQL 服务即可。
rm -rf logs/* rm -rf pm2.log service mysqld start
查看错误日志发现 Node 服务的某个模块不存在...
从字面看 X-Real-IP 代表的是客户端请求真实的 IP 地址,这个参数没有相关标准规范,如果是直接访问的请求,可能是客户端真实的 IP 地址,但是中间若经过了层层的代理,就是最后一层代理的 IP 地址。
Nginx 中的配置
proxy_set_header X-Real-IP $remote_addr;
"X-Real-IP 与 X-Forwarded-For"继续阅读
今天,我们来谈谈如何设计一个高性能短链系统,短链系统设计看起来很简单,但每个点都能展开很多知识点,也是在面试中非常适合考察侯选人的一道设计题,本文将会结合我们生产上稳定运行两年之久的高性能短链系统给大家简单介绍下设计这套系统所涉及的一些思路,希望对大家能有一些帮助。
"高性能短链设计[转]"继续阅读
MongoDB is a free and open-source document database. It belongs to a family of databases called NoSQL, which is different from the traditional table-based SQL databases like MySQL and PostgreSQL.
"How to Install MongoDB on Debian 10 Linux[转]"继续阅读
serverless 中文的含义是 "无服务器",但是它真正的含义是开发者再也不用过多考虑服务器的问题,但是并不代表完全去除服务器,而是我们依靠第三方资源服务器后端,比如使用 Amazon Web Services(AWS) Lambda. 计算服务来执行代码,那么 Serverless 架构分为 Backend as a Service(BaaS) 和 Functions as a Service(FaaS) 两种技术,Serverless 它是由开发者实现的服务端逻辑运行在无状态的计算容器中,它是由事件触发,完全被第三方管理的。
"理解 serverless 无服务架构原理[转]"继续阅读
本文我们将会介绍 JavaScript 实现异步的原理,并且了解了在浏览器和 Node.js 中 Event Loop 其实是不相同的。
我们经常说 JavaScript 是单线程执行的,指的是一个进程里只有一个主线程,那到底什么是线程?什么是进程?
官方的说法是:进程是 CPU 资源分配的最小单位;线程是 CPU 调度的最小单位。这两句话并不好理解,我们先来看张图。
"浏览器与 Node.js 的事件循环(Event Loop)有何区别?[转]"继续阅读