开发 - 迁移 VPS 到 Vultr
为什么要迁移
趁着中秋节之前总算是把我的 VPS 迁移到了 Vultr,域名也换了一个 .me 结尾的,更有个人网站的感觉,但是一年下来也得多花不少钱,疼死我了。
我以前是全套阿里云,服务器是他的,域名也是从他那里买的。不是说阿里云不好,但是对于我这种小小的个人网站来说,他的价格有点高,没有活动最低配置是七八百。
而且,由于某些众所周知的原因,管得比较严。做很多事情都要去报备,着实比较烦心。
迁移 ...
学习 - JS 实现函数重载
需求
假设我们有这样一个数据(来源于参考文章中的浅谈JavaScript函数重载,链接在文章尾部给出):
123const users = { values: ["Dean Edwards", "Alex Russell", "Dean Tom"]}
要定义一个find方法,使得它可以在下列三种情况工作:
当不 ...
开发 - Nginx 自定义错误页面
打开配置文件,找到你想自定义错误页面的location块:
1234location / { error_page 404 /404.html; # 其它配置}
确保你有404.html这一文件,如果还想捕捉更多错误,可以这样写:
1error_page 404 403 500 /error.html;
这样就完成了,不用再看经典的Nginx默认错误页面了。
学习 - 原生 JS 实现哈希路由
源码
使用Codepen在线体验和查看源码。
页面代码
在我们用前端框架的时候,经常用到路由技术,就是在地址栏确实发生了变化但是页面没有刷新,那么本文就介绍通过更改哈希的方式实现这样一种路由,下面是页面代码:
123456789<h1>Hash Router</h1><div> <a href="#/">Home</a ...
学习 - WebSocket 简单应用
简介
如果想要实现实时与服务器连接,一个简单的方法如下:
123setInterval(() => { ajax()}, 5000)
通过这种方式可以达到不断刷新的目的,但是它存在着诸多弊端:
如果没有新的内容的话,反复请求同一内容浪费流量。
如果有新的内容,用户无法第一时间得到,需要等待下一次定时器被调用。
所有出现了WebSocket这种技术,它可以实现服务 ...
开发 - Nginx 处理静态资源缓存问题
配置
说来简单,就是在Nginx里面这样写:
1234location / { add_header Cache-Control no-cache; # 其它的配置}
这里的no-cache和no-store呈现效果相似,区别在下面。
no-cache
no-cache,被称为协商缓存,也就是会查一下服务器的资源和缓存资源是否相同,如果是就用缓存,不是就会重新获取。 ...
开发 - Nginx 配置 HTTPS 证书
确保打开443端口
以阿里云为例,来到控制台打开实例界面,然后点击配置安全组规则:
随后点击配置规则:
开放443端口:
我就是这里没打开,导致后面死活不成功。
用Certbot生成证书
去到官网。我这里把在Ubuntu18的Nginx安装的步骤抄了一遍。
安装snapd:
1sudo apt install snapd
确保你版本最新(我认为这一步可以跳过,不过他都 ...
开发 - 浅谈 Nginx 反向代理
先来点轻松的
献上一张图:
不要在乎这水印叠杀人书,我实在是找不到原图了。
介绍
反向代理在电脑网络中是代理服务器的一种。服务器根据客户端的请求,从其关系的一组或多组后端服务器(如Web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP地址,而不知道在代理服务器后面的服务器集群的存在。
来源: 维基百科
说人话,就是反向代理是后端之间的通信,前端看不着。
这样的好 ...
开发 - Nginx 部署 Vue 项目
用Vue开发时,经常配置这样的代理服务器(这里展示Vite的配置项):
123456789101112{ server: { port: 80, proxy: { '/api': { target: 'http://127.0.0.1:8084 ...
开发 - 记一次JSON和ts-node的坑
首先列出目录结构:
1234example/ config.ts config.json app.ts
config.ts
12345import fs from 'fs'const conf = JSON.parse(fs.readFileSync('config.json', 'utf-8'))export const foo = c ...