webman nginx反向代理配置 PHP

upstream webman {
    server 127.0.0.1:8787;
    keepalive 10240;
}

server {
  server_name 站点域名;
  listen 80;
  access_log off;
  root /your/webman/public;

  location ^~ / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_http_version 1.1;
      proxy_set_header Connection "";
      if (!-f $request_filename){
          proxy_pass http://webman;
      }
  }
}

替换server_name 与 root即可

需要注意upstream设置,否则会导致下载大文件中断错误


杨佳乐 发布于  2024-5-13 14:18 

使用webman框架 mysql 有很多sleep连接 PHP

webman使用长链接模式,每个进程都会开启一个mysql连接,不像fpm每次都是连接释放,webman不释放mysql链接,为了防止mysql没有操作而超时,断开连接,会有定时器 定时select 1 在这个期间没有操作数据库,就会显示sleep状态


杨佳乐 发布于  2024-5-7 14:41 

webman-admin修改进入后台默认路由 PHP

默认进入后台为 /app/admin

修改其他复杂入口,例如 /app/abc3ksncvl

项目配置 config/route.php 里添加

use plugin\admin\app\controller\IndexController;

Route::any('/abc3ksncvl', [IndexController::class, 'index']);

杨佳乐 发布于  2024-5-7 14:28 

Docker三分钟搞定LLama3开源大模型本地部署 其他

概述

LLaMA-3(Large Language Model Meta AI 3)是由Meta公司开发的大型开源生成式人工智能模型。它在模型结构上与前一代LLaMA-2相比没有大的变动。

LLaMA-3模型分为不同规模的版本,包括小型、中型和大型,以适应不同的应用需求和计算资源。小型模型参数规模为8B,中型模型参数规模为70B,而大型模型则达到400B,仍在训练中,目标是实现多模态、多语言的功能,预计效果将与GPT 4/GPT 4V相当。

安装 Ollama

Ollama 是一个开源的大型语言模型(LLM)服务工具,它允许用户在本地机器上运行和部署大型语言模型。Ollama 设计为一个框架,旨在简化在 Docker 容器中部署和管理大型语言模型的过程,使得这一过程变得简单快捷。用户可以通过简单的命令行操作,快速在本地运行如 Llama 3 这样的开源大型语言模型。

官网地址:https://ollama.com/download

Ollama 支持多种平台,包括 Mac 和 Linux,并提供了 Docker 镜像以简化安装过程。用户可以通过编写 Modelfile 来导入和自定义更多的模型,这类似于 Dockerfile 的作用。Ollama 还具备一个 REST API,用于运行和管理模型,以及一个用于模型交互的命令行工具集。

Ollama服务启动日志

模型管理

下载模型

ollama pull llama3:8b

默认下载的是llama3:8b。这里冒号前面代表模型名称,冒号后面代表tag,可以从这里查看llama3的所有tag

模型测试

注意:如果想让模型中文回复,请先输入:你好!请中文回复

配置Open-WebUI

在CPU下运行

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

输入地址 http://127.0.0.1:3000 进行访问

初次访问需要注册,这里我注册一个账号,注册完成登录成功

切换中文语言

下载llama3:8b模型

llama3:8b

下载完成

使用

选择模型

使用模型

注意:如果想让模型中文回复,请先输入:你好!请中文回复

内存

注:此文章转载自 Tinywan 开源技术小栈


杨佳乐 发布于  2024-4-30 15:11 

webman/push 统计在线人数 PHP

自定义进程定时获取在线人数广播给所有在线用户
process/Status.php

<?php

namespace process;

use app\Request;
use Webman\Push\Api;
use Workerman\Timer;
use Workerman\Worker;
use think\facade\Db;

class Status
{
    public function __construct()
    {
        Timer::add(3, function () {
            $this->status();
        });
    }

    public function status()
    {
        static $user_count = 0, $page_count = 0;
        $api = new Api(
            'http://127.0.0.1:3232',
            config('plugin.webman.push.app.app_key'),
            config('plugin.webman.push.app.app_secret')
        );
        $result = $api->get('/channels', ['filter_by_prefix' => 'user', 'info' => 'subscription_count']);
        if (!$result || $result['status'] != 200) {
            return;
        }
        $channels = $result['result']['channels'];
        $user_count_now = count($channels);
        $page_count_now = 0;
        foreach ($channels as $channel) {
            $page_count_now += $channel['subscription_count'];
        }
        if ($page_count_now == $page_count && $user_count_now === $user_count) {
            return;
        }
        $user_count = $user_count_now;
        $page_count = $page_count_now;

        $api->trigger('online-page', 'update_online_status', "当前<b>$user_count</b>人在线,共打开<b>$page_count</b>个页面");
    }
}

自定义进程配置文件
config/process.php

<?php
use Workerman\Worker;
return [
    // ...其它配置...

    'status'  => [
        'handler'  => process\Status::class
    ]
];

前端js代码

var connection = new Push({
    url: 'wss://xxx.com',
    app_key: 'xxxx',
});
function update_online_status(status) {
    $('#online_status').html(status);
}
var online_channel = connection.subscribe('online-page');
online_channel.on('update_online_status', update_online_status);
var user_channel = connection.subscribe('user-<?=session()->getId()?>');
user_channel.on('update_online_status', update_online_status);

以上是实现类似workerman站点底部实时在线统计的代码


杨佳乐 发布于  2024-4-30 14:13