大模型文件一般都比较大,Ollama 默认是下载到 C 盘的,如何更改到 D 盘或其它盘符中?

第一步,退出 Ollama。

第二步,设置环境变量,设置方法参这篇文章

变量名:OLLAMA_MODELS
变量值:D:\.ollama\models(这是示例,填写自己的实际路径即可)

第三步,将默认路径下的 models 目录移至 D:\.ollama\

默认路径一般为 C:\Users\<用户>\.ollama\

xoyozo 8 天前
146

Ollama 默认是仅本地访问,接口地址是:http://localhost:11434

开放外部访问需要设置两个环境变量:

OLLAMA_HOST=0.0.0.0
OLLAMA_ORIGINS=*


第一步,设置环境变量


macOS:

在终端中运行命令

launchctl setenv OLLAMA_HOST "0.0.0.0"
launchctl setenv OLLAMA_ORIGINS "*"


Windows:

打开“环境变量”配置框

添加两个用户变量:

image.png


Linux:

使用 systemctl 设置环境变量

调用 systemctl edit ollama.service 编辑 systemd 服务配置

在 [Service] 下方添加:

[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"


第二步,重启 Ollama


环境变量配置完成后,重启 Ollama。


第三步,开放防火墙端口


Windows:

进入“高级安全 Windows Defender 防火墙” → “入站规则” → 新建规则 → 允许 TCP 端口 11434。


第四步,验证


获取本机局域网 IP。

Windows:ipconfig

Linux/macOS:ifconfig


访问网址:http://<ip>:11434

若返回 Ollama is running 则表示连接正常。

xoyozo 12 天前
274

本文介绍 Token 认证和 HMAC 认证两种方式。


一、Token 接口认证方式

原理:

客户端使用账号密码等信息登录,服务器验证通过后生成一个 Token 发送给客户端。客户端在后续的请求中携带这个 Token,服务器通过验证 Token 来确认用户的身份和权限。

应用场景:移动应用、Web 应用(特别是 SPA)

优点:

无状态性,即服务器不需要存储用户的会话信息。

易于实现跨域认证。

缺点:

Token 可能被窃取,应使用 HTTPS、不暴露在 URL 中、使用 HttpOnly 的 Cookie、对 Session ID 进行验证、设置合理过期时间、对 Token 进行加密等措施加强防范。


二、HMAC 接口认证方式

原理:

客户端将消息M与密钥K连接起来,通过哈希函数计算得到 HMAC 值,发送给服务器。服务器收到请求后,使用相同的密钥和请求参数重新计算 HMAC 值,如果与客户端发送的签名一致,即是合法请求。

优点:

安全性较高,攻击者很难伪造 HMAC 值,截获并篡改数据也无法通过服务端验证。

计算效率较高,哈希函数(如 MD5、SHA-1、SHA-256 等)计算效率比较高。

缺点:

密钥的更新和管理比较麻烦。


扩展:

在消息体中添加时间戳以防止重放攻击。

加密隐私数据:可以使用对称加密算法(如 AES)或非对称加密算法(如 RSA、ECC 等)对部分隐私数据进行加密。非对称算法虽然更安全,但速度较慢,如需加密大量数据,可以考虑使用对称加密算法进行加密,然后使用非对称加密算法对对称密钥进行加密。

xoyozo 1 个月前
280

以下列出本人所遇到的情况及处理方法,肯定不全,但都有用。

  1. 使用系统自带清理工具进行清理

    Windows 7 / 8 / 8.1 / 10:在 C 盘上点击右键属性 - 磁盘清理 - 清理系统文件 - 视情况勾选 - 确定

    Windows 11:在 C 盘上点击右键属性 - 详细信息 - 临时文件 - 视情况勾选 - 确定

  2. 关闭“传递优化

    设置 - Windowx 更新 - 高级选项 - 传递优化,关闭“允许从其他设备下载”

    其实前面说到的清理临时文件中已经包含了“传递优化文件”,所以这里按个人喜好选择是否关闭。

  3. 更改虚拟内存路径

    可以将虚拟内存路径更改为非系统盘,但建议是固态硬盘。

  4. 关闭系统还原

    当遇到系统问题时,如果你喜欢重装系统,而不是系统还原,那么可以关闭它。

  5. 更改桌面、文档、下载等用户文件夹的位置

    将这些目录路径更改到非系统,但仍然建议是固态硬盘。以 Windows 11 的桌面目录为例:

    打开资源管理器 - 主文件夹,右键点击“桌面”属性,切换到“位置”,移动。

  6. 软件安装到其它盘

    有些电脑管理软件有软件迁移功能,但我还是建议先卸载软件,再安装到其它盘符。

  7. 将软件文档路径更改到其它盘

    如果不想把软件安装到其它盘(譬如只有C盘是固态硬盘),那么可以将文档路径更改到其它盘,譬如:

    微信:☰ - 设置 - 文件管理 - 更改

    QQ:☰ - 设置 - 存储管理 - 更改存储路径(注意是聊天消息那个)

    企业微信:头像 - 设置 - 存储管理

    钉钉:头像 - 设置与隐私 - 通用 - 缓存目录

    千牛:设置 - 数据存储文件夹

  8. 清理浏览器缓存

    Chrome:┇ - 设置 - 隐私与安全 - 删除浏览数据

    Edge:… - 设置 - 隐私、搜索和服务 - 删除浏览记录 - 选择要清除的内容

    Firefox:☰ - 设置 - 隐私与安全 - 历史记录 - 清除历史记录

  9. VMware 虚拟机

    在已安装的镜像上点击右键 - 管理 - 清理磁盘

    把已安装的镜像复制到其它磁盘,再添加到 VMware 中,删除原镜像文件。

  10. 更改 Navicat 数据库备份目录

    如果你的 Navicat 启用了自动运行的备份任务,那么可以更改备份路径。

    在连接上点击右键编辑连接,切换到高级,更改设置位置。

  11. SQL Server 数据库文件瘦身

    若 SQL Server 数据目录(C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA)中有很多较大的数据库日志文件(.ldf),可以按需采取以下措施:

    使用 SSMS 连接到你的 SQL Server 实例;数据库恢复模式设置为“简单”;右键点击要压缩的数据库,选择“任务”->“收缩”->“文件”,选择“日志”,在“释放未使用的空间前重新组织页”一项中设置为 0MB,然后点击“确定”按钮。

最后推荐一款免费软件 TreeSize Free,可以查看磁盘中各目录和文件占用空间大小,小白不要乱删文件哦,删错了可就得重装系统了。

xoyozo 1 个月前
290
  1. 国家智慧教育公共服务平台 https://gjzwfw.www.gov.cn/

  2. 中国裁判文书网 https://wenshu.court.gov.cn/

  3. 国家企业信用信息公示系统 https://gs.gsxt.gov.cn/

  4. 国家社会保险服务平台 https://si.12333.gov.cn/

  5. 天地图 https://www.tianditu.gov.cn/

  6. 国家统计局 https://www.stats.gov.cn/

  7. 中国商标网 https://sbj.cnipa.gov.cn/sbj/

  8. 国家法律法规数据库 https://flk.npc.gov.cn/

  9. 中国专利公布公告网 http://epub.cnipa.gov.cn/

  10. 国家标准全文公开系统 https://openstd.samr.gov.cn/bzgk/gb/

  11. 国家药品监督管理局 https://www.nmpa.gov.cn/datasearch/

  12. 食品安全抽检公布结果查询系统 https://spcjsac.gsxt.gov.cn/

  13. 发票查验平台 http://inv-veri.chinatax.gov.cn/

  14. 中国关键词 http://keywords.china.org.cn/

  15. 工信部申诉受理中心 https://ythzxfw.miit.gov.cn/

  16. 合同示范文本库 https://htsfwb.samr.gov.cn/

  17. 中国法律服务网 https://www.12348.gov.cn/

  18. 中国庭审公开网 https://tingshen.court.gov.cn/

非 gov 网站

  1. 终身教育平台 https://le.ouchn.cn/

  2. 国家数字图书馆 https://www.nlc.cn/

  3. 国家哲学社会科学文献 https://www.ncpssd.cn/

  4. 国家高等教育智慧教育平台 https://www.chinaooc.com.cn/

  5. 职业教育专业教学资源库 https://zyk.icve.com.cn/


转自 一网一匠 1 个月前
226

本文仅针对自己遇到的情况进行整理,并不完善,仅供参考。

微信图片_20250112102607.jpg

首先点击这个封禁页面上的“客服指引”,在“微信访问网站被限制的相关问题”页面上找到反馈邮箱 moment@tencent.com,按规定格式给这个邮箱反馈情况,可以咨询具体被封禁的原因和网址等方便处理。几分钟后就能收到回信(即使是周末)。这次被告知是被手机管家拦截,并提供了另一个申述通道:http://gj.qq.com/online_server/complain_url.html。提交网址申述后等待3个工作日。

实际等了1个小时就收到回复了(即使是周末)。

微信图片_20250112110658.png

附:在线网址检测:https://urlsec.qq.com/check.html


xoyozo 1 个月前
379

连接 Filezilla Server 时提示“服务器的证书未知。请小心验证证书以确信该服务器可信任。”

image.png

解决办法:登录服务器,打开 Administrator FileZilla Server,菜单中选择 Server,Configure,点击左侧的 Administration,切换到 Connection security 页,点击 Generate new 按钮,OK。

image.png

Protocols settings 的 FTP and FTP over TLS(FTPS) 中同样也需要点击 Generate new。

xoyozo 2 个月前
256

前几天实现了在 nginx 中使用 lua 实现远程鉴权,今天想试试在 IIS 中能不能实现相同的功能。查询资料发现需要使用 URL 重写和 HTTP 请求模块,没有深究。干脆使用 ASP.NET 中间件来实现吧。

在 StratUp.cs 的 Configure 方法中,或 Program.cs 文件中添加以下代码:

// 远程鉴权
app.Use(async (context, next) =>
{
    var ip = context.Connection.RemoteIpAddress!.ToString();
    var ua = context.Request.Headers.UserAgent.ToString();
    var host = context.Request.Host.Host;
    var uri = new Uri(context.Request.GetDisplayUrl()).PathAndQuery;

    var client = new HttpClient();
    client.Timeout = TimeSpan.FromSeconds(1); // 设置超时时间

    try
    {
        var requestUrl = "https://鉴权地址/";

        var requestMessage = new HttpRequestMessage(HttpMethod.Get, requestUrl);
        requestMessage.Headers.Add("X-Real-IP", ip);
        requestMessage.Headers.Add("User-Agent", ua);
        requestMessage.Headers.Add("X-Forwarded-Host", host);
        requestMessage.Headers.Add("X-Forwarded-Uri", uri);

        // 发送请求
        var response = await client.SendAsync(requestMessage);

        // 检查响应状态码
        if (response.StatusCode == HttpStatusCode.Forbidden)
        {
            // 如果返回403,则拒绝访问
            context.Response.StatusCode = (int)HttpStatusCode.Forbidden;
            await context.Response.WriteAsync("Access Denied");
        }
        else
        {
            // 如果返回其他状态码,则继续执行管道中的下一个中间件
            await next();
        }
    }
    catch (TaskCanceledException ex) when (ex.CancellationToken.IsCancellationRequested)
    {
        // 如果请求超时(任务被取消),则继续执行管道中的下一个中间件
        await next();
    }
    catch
    {
        // 如果遇到错误,则继续执行管道中的下一个中间件
        await next();
    }
});

代码很简单,使用 HttpClient 发送请求,若返回 403 则拒绝访问,其它情况继续执行业务逻辑,超时或报错的情况按需修改即可。

若鉴权接口在私网中,建议将鉴权接口域名和私网 IP 添加到 hosts 文件中。

xoyozo 2 个月前
274
  • location 优先于 access_by_lua_block,即使 access_by_lua_block 放在 http 中。

  • location 的 3 种匹配的优先级,精确匹配(=) > 正则匹配(~) > 前缀匹配(无符号,直接是“/”开头的 uri 前缀)。

  • 相同匹配类型的多个 location(比如有多个正则匹配),按定义顺序来进行匹配。

  • 一旦有一个 location 被匹配到,就不再继续匹配其它 location。

  • 如果使用 access_by_lua_block 鉴权,那么不要放在任何 location 中,这样,匹配完 location 后只要没有命中直接返回语句,就会继续执行 access_by_lua_block。并且,如果 access_by_lua_block 中鉴权拒绝,后续的业务处理(如 php 业务)不会继续进行。


xoyozo 2 个月前
578
http {
    ...

    lua_shared_dict cpu_cache 1m;  # 定义共享字典用于缓存 CPU 使用率
    access_by_lua_block {
        local cpu_cache = ngx.shared.cpu_cache
        local cache_time = cpu_cache:get("cache_time") or 0
        local current_time = ngx.now()

        if current_time - cache_time > 5 then  -- 每 5 秒更新一次
            local cpu_info = io.popen("top -bn1 | grep 'Cpu(s)'"):read("*all")
            local cpu_usage = cpu_info:match("(%d+%.%d+) id")  -- 获取空闲 CPU 百分比
            local cpu_used = 100 - tonumber(cpu_usage)  -- 计算使用率

            cpu_cache:set("cpu_usage", cpu_used)
            cpu_cache:set("cache_time", current_time)
        end

        local cpu_usage = cpu_cache:get("cpu_usage")
        ngx.log(ngx.INFO, "CPU 使用率: " .. cpu_usage .. "%")
        -- 将 cpu_usage 发送到远程鉴权接口,可根据服务器压力来决定是否拒绝一些不重要的请求
    }
}

代码解析:

共享字典:使用 lua_shared_dict 定义一个共享字典 cpu_cache,用于存储 CPU 使用率和缓存时间。

获取 CPU 使用率:在 access_by_lua_block 中,检查缓存时间,如果超过 5 秒,则重新获取 CPU 使用率,并更新共享字典。

记录日志:使用 ngx.log 将 CPU 使用率记录到 Nginx 日志中。

注意事项:

确保 Nginx 配置中已经加载了 Lua 模块(如 ngx_http_lua_module)。

根据实际需求调整缓存时间,以平衡性能和数据的实时性。

尝试过使用 ifconfig 或 ip 命令获取网卡流量,在宝塔面板中失败了,怀疑是权限问题,有空再研究。临时方案是鉴权接口定时调用宝塔面板 API 或阿里云控制台 API 来获取 ECS 的 CPU 和带宽使用率。

如何配置 nginx 远程鉴权

xoyozo 2 个月前
353