手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表查看gouki的文章

如何自动更新 SSL 证书?

 听起来好象没问题,因为 acme.sh 就是在做这样的事情,但事实上呢,经常失败。经常有客户跑过来说,怎么网站打不开了?所以找了个检查 SSL 证书的命令,然后放在 console 里跑一下,如果证书在7天内过期就使用 acme.sh 脚本运行一次。

检测的 ssl 命令是:echo -n Q | openssl s_client -servername blog.neatcn.com -connect blog.neatcn.com:443  | openssl x509 -dates -noout,可以看到类似这样的结果 :
 
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN = yzhan.com
verify return:1
DONE
notBefore=Mar 25 05:19:28 2023 GMT
notAfter=Jun 23 05:19:27 2023 GMT
 
简点区分一下数据,notAfter=后的时间就是过期时间,在 laravel 下面就方便了。 Carbon类比较一下(PHP 的 DateTime 类也能比较)。laravel 10开始,new Process()还能多进程。写个简单的脚本,加到 crontab,就完事了。
 

苹果M1笔记本如何安装 Python2

为什么需要 python2,还不是因为 node_sass 需要用到它。没有它,npm installF 得了无法执行而直接报错。但苹果从 M1开始就不再默认带上 Python2,而是默认3.x(好象是3.9)。

那怎么办呢?
先安装个 pyenv,再用 pyenv 安装2.7
 
1、brew install pyenv
2、arch -x86_64 pyenv install 2.7.18
3、把路径加入到配置文件:export PATH="$(pyenv root)/shims:${PATH}"
 
Over。如果是非 M1的话,直接 pyenv install 2.7.18即可
 

如何解决 “0308010c:digital envelope routines::unsupported” 的错误

 在使用webpack或者vue-service-cli 的时候,启动时出现:“0308010c:digital envelope routines::unsupported” 的错误,这时候应该怎么解决呢?

 
这个错误的原因可能有两个:
1、 你没有使用 Node JS 的 LTS(长期支持)版本或者是版本太新了。我现在我使用的是 Node 18.0.0。所以我直接npm -g add n ,安装了一个多版本的管理工具,切到16后正常了
2、将 --openssl-legacy-provider 传递给 Webpack 或 CLI 工具 例如,在 React 应用程序中,你可以将 --openssl-legacy-provider 传递给启动脚本,如 "react-scripts --openssl-legacy-provider start"。
 
2是网上查的资料,因为我1就直接解决了,所以2没用上,如果你方法1没有解决问题,那可以尝试方法2

使用UniAPP的data-select弹窗穿透其他组件的问题

虽然已经知道所谓的:在vue中,两个不同的组件,A加了层级或者A的子元素加了层级(大于1),B没加,不管B的子元素层级有多高都不会再A上面显示。

 
但发现不管怎么调整,下拉框还是被其他组件覆盖了,这时候我才注意到有一个sticky的样式。为了让这个元素能够留在顶部,结果就出现了样式穿透的问题了。记录一下下次再遇到的时候,也好加深一下记忆
 
参考:
1、https://www.zhangxinxu.com/wordpress/2018/12/css-position-sticky/ ,杀了个回马枪,还是说说position:sticky吧

multipass 如何更改磁盘

用了multipass后,在mac下建了一虚拟机,用来跑lnmp项目。原来是用valet的,但还是有点不太方便。所以就直接用multipass + zerotier ,然后远程指过来。有点小麻烦,但还能接受。

 
因为我原来也没有多轻松,是用了frp + valet 来做映射,frp是个客户端,得时刻与服务器通讯。
---
闲话不说,multipass在试用的时候,创建的磁盘是5G,结果用两天就满了,一查原来是composer/npm的cache太大了。于是就想着扩容。在没有去官方查资料的时候,先google搜了一下,结果能够搜到的都是改cpu / memory,连改磁盘大小的教程都几乎没有,唯一找到的一篇还是windows下的,说是用了hyper-dev,可以直接在开发工具里调整一下,还是可视化的。
 
网上搜到的改CPU/内存的都是说进入 /var/root/Library/Application Support/multipassd/xxxx.json里直接修改就完事了。事实上在经历过几次更新后,这个json文件也不在原来的位置了,而是在 multipassd/qemu的目录下。
 
但这个配置文件也还是只能改 CPU和内存,所以,改磁盘就改不了。
 
抱着试试看的态度查了下官网,结果发现,原来改这个玩意这么简单:https://multipass.run/docs/modify-an-instance#heading--set-the-cpu-ram-or-disk-of-an-instance,直接两句命令就完事了
multipass set local.primary.disk = 10G
其他可设置的是:cpus / memory 
local是本地,primary是instance的名称。
 
---
查一下官方资料,真是比啥都好,网上那些教程的时效性太短了。