维护 Nginx 时,什么时候应该用 reload,什么时候应该用 restart?
本文是“攻玉计划”的一部分,翻译自 https://stackoverflow.com/questions/13525465/when-to-restart-and-not-reload-nginx/20215497问题描述使用 Nginx 时,什么情况下 reload 无法满足需求,而必须要使用 restart 命令呢?如果 Nginx 进程占用了过多内存,是不是应该用 restart 来重启?如果修改了 Nginx 的核心配置,或者某些插件的配置,是不是也需要使用 restart 命令?修改 Nginx 配置后,用户既可以使用 restart 也可以使用 reload 来使配置生效,见 Ubuntu 上 /etc/init.d/nginx -h 的输出。那么,哪种方案更优呢?回答 1reload 比 ..
更多Install mosh for macOS arm64 with Miniconda3
I always hate compiling and building. It's an error-prone path filled with riddles and unknowns. mosh is a great tool replacing ssh in many cases, sadly it does not provide an arm64 binary download or installer for M1/M2/M3 MacBooks. Moreover I dont like XCode and protected /usr/bin shit so I prefer isolated envs like miniconda3. Anyway, for such a detour..
更多javascript 节拍器
娃学琴,节奏感糊成一坨了。老师让抖腿打节拍,显然不work。码农特有的穷B气质让我舍不得买个实体的;去找个节拍器app,结果各大市场都是各种广告,怕给娃用不正经;甚至找了很多公众号版的,小程序版的,网页版的,普遍都是各种跳转诱导点击。 失望之余,想起来上次JS播放DTMF对 WebAudio 有点感觉,要不这次自己干脆再手搓一个。调研了一圈发现这玩意没那么容易,主要就是javascript在浏览器里 setInterval 是有时间抖动(jitter)的,不能保证节奏精确。如何才能做到精准采样打节拍呢?连续精心编排 AudioContext 时间轴! 搜了一圈发现一位叫 Grant James 已经写好放在 github 了。那还等什么直接拿来~~针对性的改进了: 无广告 去掉 .js .css 依赖,..
更多Edge找回丢失的右上角Copilot侧边栏图标
右上角图标和侧边栏的官方截图: 如果不小心关掉了,找回办法: 打开 edge://settings/sidebar/appSettings?hubApp=cd4688a9-e888-48ea-ad81-76193d56b1be F12 或者 Opt+Cmd+I,找到第一个“Show Copilot”开关,把它改成关闭。 如果第二步不会搞,输入 document.querySelector('input[aria-label="Show Copilot"]').removeAttribute('disabled') 可破 为什么会有这个问题,因为政策的原因,Microsoft Copilot 不能在简中使用,于是右上角的按钮点一下会消失;但是开发或者集成测试的为了省事儿,就直接给隐藏掉,导致侧边栏无法..
更多解决 Maven 的 unable to find valid certification path to requested target 错误
今天我在从公司的 Maven 私库上下载依赖时,Maven 报出了 unable to find valid certification path to requested target 的问题,经查询是因为没有将私库使用的自签名证书导入到 Java 的 keystore。这里写一下我的两个解决方案,方便发生了同样问题的人参考。 让 Maven 忽略证书错误因为在默认情况下,自签名证书是不受信任的,那么我们只要让 Maven 忽略证书错误,就可以解决这个问题了。 我们可以在.bashrc 或.zshrc(或者其他位置,看你用哪个 shell 了)里面加入如下语句: 1export MAVEN_OPTS='-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wago..
更多文件系统访问(File System Access) API
File API 文件 API 对于传统的File API 当需要用户提供文件时,Web 应用程序可以使用文件 <input> 元素打开文件选择对话框来访问文件或者文件夹fileInput.addEventListener("change", async () => { const [file] = fileInput.files; }); File System Access API 借助 File System Access API,开发者可以构建功能强大的 Web 应用, 用户本地设备上的文件,例如 IDE、照片和视频编辑器、文本编辑器等。更新后 当用户向 Web 应用授予访问权限时,此 API 可让用户直接读取或保存对文件的更改,以及 文件夹。除了读取和写入文件以外,File..
更多批量修改 qbittorrent-nox 内种子的 tracker 地址
背景馒头 PT 站的默认 tracker 出了问题,我到现在都没搞懂是被墙了还是我自己设备的问题,反正就是无法访问默认的 .cc 域名,但 .io 的域名是可以的。但手动修改 .cc 倒 .io ,也太麻烦了,我有上百个种子。我是在一台 Ubuntu 服务器上运行的原版 qbittorrent-nox,用 webui 访问。解决方案qbittorrent-nox 会在当前用户的家目录中的 ~/.local/share/qBittorrent/BT_backup 目录内存放所有正在使用的种子(虽然我也不清楚为啥名字里有 backup),vim 看了一眼,就是很正常的种子文件格式。所以,理论上,直接批量替换这些种子文件里面的 tracker URL,就能解决问题。说干就干,先停掉 qb 的服务,然后备份 BT..
更多PHP
Foreword 传闻中天下第一的语言,试一下服务器部署,没想到这么困难,老古董还是有点难啊 PHP 部署 先安装PHP,2021 年开始,Ubuntu 官方不再支持 PHP 5.6 版本的维护和更新,因此如果需要在 Ubuntu 上安装 PHP 5.6,则需要使用第三方的 PPA(个人软件包归档)来进行安装 sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php5.6 php -v PHP 5.6.40-78+ubuntu24.04.1+deb.sury.org+1 (cli) Copyright (c) 1997-2016 The PHP Group 好像fpm不这么装也行,..
更多Llava简述
介绍Llava是一个多模态大模型,本文以如下代码大致介绍下。 1234567891011121314151617181920212223242526import osos.environ['HF_ENDPOINT'] = 'https://hf-mirror.com' # noqaimport requestsfrom PIL import Imagefrom transformers import AutoProcessor, LlavaForConditionalGeneration, LlavaConfigconfig = LlavaConfig.from_pretrained("llava-hf/llava-1.5-7b-hf")model = LlavaForConditionalGenera..
更多vue3用于管理axios异步请求一致性的功能函数
发现问题在前端开发中,有一个很常见的问题:如何在多次请求中,正确地处理响应数据和原始请求保持一致。 说起来有点拗口,我这里直接用一个简洁明了的例子来讲解。假如要写一个可分页的表格页面,它的原始代码如下: <script lang="ts" setup> const rows = ref<{id: number, name: string, age: number}[]>([]) const currentPage = ref(1) const total = ref(0) const getList = (page) => { axios.get(`/api/list?page=${page}`) .then(res => { rows.val..
更多