Cache和Buffer都是缓存,主要的区别是什么?
什么是buffer/cache?buffer和cache是两个在计算机技术中被用滥的名词,放在不通语境下会有不同的意义。在Linux的内存管理中,这里的buffer指Linux内存的:Buffer cache。这里的cache指Linux内存中的:Page cache。 翻译成中文可以叫做缓冲区缓存和页面缓存。在历史上,它们一个(buffer)被用来当成对io设备写的缓存,而另一个(cache)被用来当作对io设备的读缓存,这里的io设备,主要指的是块设备文件和文件系统上的普通文件。 但是现在,它们的意义已经不一样了。在当前的内核中,page cache顾名思义就是针对内存页的缓存,说白了就是,如果有内存是以page进行分配管理的,都可以使用page cache作为其缓存来管理使用。 当然,不是所有的内存都是以页(page)进行管理的,也有很多是针对块(block)进行管理的,这部分内存使用如果要用到cache功能,则都集中到buffer cache中来使用。 (从这个角度出发,是不是buffer cache改名叫做block cache更好?)然而,也不是所有块(bl...
开源短链服务YOURLS部署指南
前言市面上短链接服务有很多,但大多都寿命很短,一些小厂商跑路的概率比较大,但大公司呢又容易被删。 如果实在要用第三方的短链服务,推荐用国外大公司的服务,相对来说比国内公司靠谱一些,比如 Bitly。 简介YOURLS 是一款使用PHP+Mysql开发的短链接程序,相比公共短网址好处是数据掌握在自己手中,可控性更高。 功能如下: 免费和开源软件 私有(仅您的链接)或公共(每个人都可以创建短链接,适用于Intranet) 顺序或自定义URL关键字 方便的书签,可轻松缩短和共享链接 出色的统计信息:历史点击报告,引荐来源跟踪,访问者地理位置 整洁的Ajaxed界面 出色的插件架构,可轻松实现新功能 开发人员API 全面的jsonp支持 友好的安装程序 示例文件可创建您自己的公共界面等 下载可以在Github下载最新版本,解压后放到站点根目录,并将 user 目录下的 config-sample.php更名为config.php。 安装部署1. 创建数据库使用MySQL,数据库名称为 yourls。 create database yourls; 2. 编辑c...
全面总结nginx服务器详细配置
前言Nginx服务器的配置对新手来说不算很友好,支持自定义的功能非常多,没有Apache2那么友好。 网上抄来的配置也不知道适不适合自己的服务器,因此,这边带大家来全面总结一下nginx服务器的一些相关配置。 内容这些内容基本可以配置在 nginx.conf 的主程序配置文件的 server 框内,也可以选配在每个网站的配置文件中。 基础配置指令1. send_timeout send_timeout 用于设置 nginx 与客户端(浏览器等)之间发送数据的超时时间。如果在指定的时间内 nginx 没有向客户端发送数据,连接将被关闭。这个时间的单位是秒,默认值是 60s。 在设置 send_timeout 时,应该根据实际情况选择合适的超时时间。如果超时时间设置得太短,可能会导致客户端接收不到完整的响应数据;如果超时时间设置得太长,可能会影响服务器的资源利用效率。 对于一个个人博客网站来说,一般来说设置 10s 的 send_timeout 应该是足够的,除非网站中包含大量的媒体文件或者其他大文件,需要较长的时间才能完成数据传输。如果出现超时问题,可以适当增加超时时间,或者考虑对...
解决nextcloud错误提示 Could not connect to appstore-cURL error 28
前言在使用nextcloud的过程中,后台日志总会出现警告: Could not connect to appstore: cURL error 28: Operation timed out after 60000 milliseconds with 1191922 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://apps.nextcloud.com/api/v1/apps.json 虽然这个警告是因为nextcloud的API无法访问,是一个常见的问题,无伤大雅,不影响使用。 但是看着有点心烦,索性通过以下方法把它去掉。 方法 打开nextcloud的文件夹,找到如下文件:/path/to/nextcloud/lib/private/Installer.php 查找 $timeout = $this->isCLI ? 0 : 120; 这一行 // Download the release $tempFile = $this->tempMana...
使用wordpress插件GPT AI Power-Complete AI Pack部署ChatGPT
前言想要将ChatGPT部署在Wordpress上面,可以简单地使用插件 GPT AI Power: Complete AI Pack,该插件功能齐全,可自定义功能多,比较推荐。 步骤1. 安装GPT AI Power: Complete AI Pack插件在wordpress后台搜索该插件,安装启用。 2. 插件设置在插件设置界面,需要填写你的 API Key 在 ChatGPT 选项框内,就可以设置你的一些功能选项。 模块也可以支持自选: 3. 创建一个新的页面创建一个新的页面,命名比如为:chatgpt-online 根据自己的主题编辑器,将这段简码 [//wpaicg_chatgpt//] (简码,去掉前后的//) 插入页面。(直接在页面内容中粘贴进去好像也可以) 比如我的Elementor编辑器,在编辑界面通过添加 简码 模块 如果是古腾堡编辑器,点击 + 号添加 简码 模块 4. 访问页面此时应该是已经显示ChatGPT的聊天界面了。 经过测试,正常显示: 最后目前来说,这个插件总体来说还是非常满意的,虽然不能像...
npm全局更新安装的模块
前言npm全局安装的模块是无法使用 npm update 进行更新的,想要更新全局的模块,需要安装 npm-check-updates 。 步骤 全局安装 npm-check-updates 模块: npm install -g npm-check-updates@latest 运行以下命令来检查项目中哪些模块可以更新: ncu -g 如果看到有模块可以更新,可以跟进对应的命令更新: 比如我有两个模块可以更新: npm -g install [email protected] [email protected] npm install npm -g 再次通过 ncu -g 检查已经全部是最新版本了 最后全局更新稍微复杂一点,不像局部安装的使用 npm update 就行。总体来说也很简单。 拓展一般来说,重新安装模块的时候,需要清除 npm 缓存: npm uninstall -g <package-name> npm cache clean --force npm install -g <package-name>
用代理自动配置文件pac给ios设备添加socks代理
前言在linux上运行了socks5的代理客户端之后,发现我的iphone在局域网的详细信息里竟然无法设置socks代理,只有http代理,而我的代理客户端又不支持http代理,所以找了下iphone上设置socks代理的方法。 方法HTTP Prxoy 有3种模式: 关闭Off / 手动Manual / 自动Auto 用自动配置文件,就可以支持socks代理: function FindProxyForURL(url, host){ return "SOCKS proxy_host:proxy_port"; } 将上面的 proxy_host 和 proxy_port 换成socks服务器实际的IP地址和端口,然后保存为 proxy.pac ,上传到服务器,比如 https://www.yydnas.cn/proxy.pac。 在iPhone设备中,添加自动配置 URL 为上面的地址,就可以使用socks代理了。 拓展function FindProxyForURL(url, host){ if (isInNe...
corewarn-pid-217252:AH00111 Config variable APACHE_RUN_DIR is not defined
安装Apache2后,在输入 apache2 -V 时,会有如下的错误提示: [core:warn] [pid 217252] AH00111: Config variable ${APACHE_RUN_DIR} is not defined 这个错误表明在Apache配置文件中引用了未定义的变量 ${APACHE_RUN_DIR} ,导致Apache无法正常启动。 通常,这个变量在Apache的系统环境变量中定义,但在某些情况下可能没有正确地设置。 为了解决这个问题,可以按照以下步骤之一进行操作: 解决方法一次性方法加载环境变量,直接输入以下命令让apache2加载: source /etc/apache2/envvars 这个方法就是每次重启后都需要输入这个命令进行加载。 根本性解决方法需要手动定义apache2的环境变量: 备份 /etc/apache2/apache2.conf 编辑 /etc/apache2/apache2.conf文件 2.1 定义 APACHE_RUN_DIR 将其中的 DefaultRuntimeDir ${APA...
一种另类的翻墙方式,使用浏览器代理访问国外网站
前言正好最近时间在玩ChatGPT,国内以及香港等地不支持访问,而我的vpn正好是香港的,公司的vpn倒是美国的,但是登录验证有点麻烦,就想简单的开个浏览器的局部代理简单访问即可,要开全局的话,找一下其他代理的软件就行。 方法1. 安装SwitchyOmega扩展这边就推荐这个,个人觉得比较好用,绿色无广告,功能也不错。 下载地址: Chrome扩展商店 (这个需要科学上网) Github SwitchyOmega Release 我的网盘 这里需要注意一下: SwitchyOmega 目前没有专门的项目主页。 switchyomega.com 等网站与 SwitchyOmega 项目并无任何关联,也并非由 SwitchyOmega 项目成员维护。一切信息请以 Github 上的项目和 wiki 为准。 如果是Edge浏览器,在它的扩展商店中的SwitchyOmega为个人改版,非官方发布的。 2. 使用方法 网上搜索国外的代理(建议bing国际版,百度什么的很不靠谱),最好是SOCKS代理,推荐一个比较好用的免费代理网站:https://cn.proxy-...
将ChatGPT部署到自己网站,在朋友面前装起来
前言国内对ChatGPT的访问不是很友好,如果你有办法访问,你的朋友他们没办法,你就可以在他们面前装逼了。然后如果你再把它部署到自己的网站上,那不是妥妥的大神级别了吗?!这一波真的被装到了。 步骤1. 下载代码推荐在Github上一个无广告的: https://github.com/dirk1983/chatgpt,下载到本地。 推荐这个的理由是无广告,很多程序发出来自带一堆广告,看着很难受。 2. 修改API key修改文件夹内的 message.php ,第21行 OPENAI_API_KEY 填入自己的 API key。 3. 部署上传到自己的网站目录,访问即可。 最后部署到前端实用性不是很大,而且因为接口有次数限制,也就只能给亲朋好友体验试玩一下。 其实在查这个东西的时候,真是把我吓一跳,发现居然很多人靠这个盈利,单单一个手机验证要50元,成本不到几块钱的事情,然后再欺负一些人不懂事,还要分自己邮箱注册和使用他们提供的邮箱两种方式注册分别收取的费用也不同,唉。。真的无话可说。