bug大汇总
2023-08-05 15:22:27 0 举报
AI智能生成
bug大汇总
作者其他创作
大纲/内容
其他
bluehost免费域名证书申请问题
场景:英分博客搭建在bluehost上,
需要申请免费的 let's encrypt 证书
在已经有证书的情况,需要
先删除证书,再点击自动生成 ssl 证书
即可完成安装免费证书
需要申请免费的 let's encrypt 证书
在已经有证书的情况,需要
先删除证书,再点击自动生成 ssl 证书
即可完成安装免费证书
工程化方向
nginx配置问题
知识点
root路径和 alias路径的区别
root :root 路径+location路径
alias :alias 路径替换掉 location 路径
(alias是location别名的意思)
(alias是location别名的意思)
nuxt部署问题
本地跑项目没问题,但部署
到环境之后页面 service error
到环境之后页面 service error
原因大部分是:编译时候有 build nuxt failed
(nuxt server端启动失败)
(nuxt server端启动失败)
排查手段
1. 去k8s看编译日志
2. 如果k8s没有错误信息,
就去本地编译看有没有错误信息
就去本地编译看有没有错误信息
(可能是第三方包自动升级了,需要锁死版本,也可能是缺少第三方包)
大部分是由于 package.json 变更导致本地和
发布时的 node_modules 第三方包版本不一致导致
发布时的 node_modules 第三方包版本不一致导致
知识点
1. package.json 变更后,如果没有修改相应的 lock 文件,
在部署时 即重新 yarn 的过程中会只根据 package.json 进行
安装包,所以会导致其他第三方包在版本范围内自动升级。
在部署时 即重新 yarn 的过程中会只根据 package.json 进行
安装包,所以会导致其他第三方包在版本范围内自动升级。
2. yarn 与 npm 区别,及相应的 lock 的工作流程
开发规范
1. 业务开发中升级包 和 安装包 要使用正规手段
npm install packageName / yarn add(upgrade) packageName
npm install packageName / yarn add(upgrade) packageName
2. 业务中升级包后,切记将 package.json 和 lock 文件都要上传,
不然会有内容不一致的情况,导致在 yarn ( npm install )会忽略lock
中的版本 重新安装
不然会有内容不一致的情况,导致在 yarn ( npm install )会忽略lock
中的版本 重新安装
项目部署迁移到新平台k8s的问题
测试环境没问题,部署线上之后,访问不通
排查手段
1. 登录容器查看日志有报错:ERRREFUSE。
2. 仔细查阅报错原因,发现可能是环境是IPV6问题
3. 登录线上环境容器日志 查看 ifconfig,只有ip6的地址
没有ip4的地址,而测试环境两个都有
没有ip4的地址,而测试环境两个都有
4. 查看 nuxt 配置,启动服务的IP为0.0.0.0
5. 查阅 node 官网API,如果需要同时支持 ip4 ip6 需要修改
server.listen(port, '0.0.0.0') 改为 server.listen(port) 即可
server.listen(port, '0.0.0.0') 改为 server.listen(port) 即可
经验证完成修复
部署时环境问题
开发规范
避免设置只有线上环境才开启某项功能,
有可能导致问题只在线上环境报漏出来
有可能导致问题只在线上环境报漏出来
测试、预发、线上环境的node版本需要保持一致,
避免切换环境后有问题。
避免切换环境后有问题。
编译环境的node版本和运行的node版本最好一样
知识点
编译环境的node版本和运行的node版本是分开设置的,
在k8s中可以通过shell脚本安装编译环境的node,在dockerfile中
设置运行环境的node
在k8s中可以通过shell脚本安装编译环境的node,在dockerfile中
设置运行环境的node
前端知识
electron
主进程和渲染进程之间通信注意顺序问题
发布订阅消息时需要注意时序性问题,避免消息错乱
eg:
event.emit('test', data)
event.on('test', fn)
需改为:
event.emit('test'+timeStamp, data)
event.on('test'+timeStamp, fn )
event.emit('test', data)
event.on('test', fn)
需改为:
event.emit('test'+timeStamp, data)
event.on('test'+timeStamp, fn )
jsbridge
0 条评论
下一页