• fastadmin 基本使用配置



    fastadmin 版本 1.3.5
    thinkphp  版本 5.0.25


    配置 cache         为 redis 保存

    // +----------------------------------------------------------------------
    // | 缓存设置
    // +----------------------------------------------------------------------
    'cache'                  => [
        // 驱动方式
        'type'   => 'redis',
        'host'                   => Env::get('redis.hostname'),
        'password'               => Env::get('redis.password'),
        'port'                   => Env::get('redis.hostport'),
        'select' => 2,     # 设置保存数据库
        // 缓存保存目录
        'path'   => CACHE_PATH,
        // 缓存前缀
        'prefix' => 'cache_',
        // 缓存有效期 0表示永久缓存
        'expire' => Env::get('redis.expire'),

    ],


    配置 session     为 redis 保存

     // +----------------------------------------------------------------------
    // | 会话设置
    // +----------------------------------------------------------------------
    'session'                => [
        'id'             => '',
        // SESSION_ID的提交变量,解决flash上传跨域
        'var_session_id' => 'fastadmin',
        // SESSION 前缀
        'prefix'         => 'session', # 当前作用域
        // 驱动方式 支持redis memcache memcached
        'type'           => 'redis',
        'session_name'           => 'session_', # session_ 前缀
        // 是否自动开启 SESSION
        'auto_start'     => true,

        'host'                   => Env::get('redis.hostname'),
        'password'               => Env::get('redis.password'),
        'port'                   => Env::get('redis.hostport'),
        'select' => 2,     # 设置保存数据库
        // 缓存有效期 0表示永久缓存
        'expire' => Env::get('redis.expire'),
        //'cache_limiter'=>''
    ],

    配置文件访问到第三方服务器 dfs

    /**
     * CDN地址
     */
    'cdnurl'    => '',

    配置 token 保存到 redis 
    // +----------------------------------------------------------------------
    // | Token设置
    // +----------------------------------------------------------------------
    'token'                  => [
        // 驱动方式
        'type'     => 'Redis',
        // 缓存前缀
        'key'      => '9M1d3jy2gGbtfXSQAZ4oIslC0Yz56cFK',
        // 加密方式
        'hashalgo' => 'ripemd160',
        // 缓存有效期 0表示永久缓存
        'expire'   => 0,
        'host'                   => Env::get('redis.hostname'),
        'password'               => Env::get('redis.password'),
        'port'                   => Env::get('redis.hostport'),
        'select' => 2,     # 设置保存数据库
    ],


    行为定义:就是多个方法调用,使代码更简洁,,不是异步,是同步调用,,相当于 common 里面的方法

    //注册成功的事件
    Hook::listen("user_register_successed", $registerdata);
    区别在于,没有也不会报错
    定义行为 https://www.kancloud.cn/manual/thinkphp5/118130


    如果修改了 public/assets/js/ 下的公共文件,
    就需要 运行 php think min -m all -r all 进行更新压缩文件,
    不然在debug=false 不会执行修改的代码


    配置 workman nginx 端口转发

    ws://192.168.1.202/ws

    location /ws {
        proxy_pass http://127.0.0.1:2346;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        rewrite /ws/(.*) /$1 break;
        proxy_redirect off;
    }

    wss 配置

    location /wss {
            # 将客户端的 Host 和 IP 信息一并转发到对应节点
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size 100M;

            # 转发Cookie,设置 SameSite
            proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";

            # 执行代理访问真实服务器
            proxy_pass http://127.0.0.1:2346;
        }

    workman crontab

     # 每个进程启动都会调用一次,多个进程调用多次,同时执行
    var_dump($worker->count);

    if($worker->id === 0){
        new Crontab('1 * * * * *', function(){
            echo "test1".date('Y-m-d H:i:s')."\n";  #1
            sleep(5);
        });


        new Crontab('1 * * * * *', function(){
            echo "test2".date('Y-m-d H:i:s')."\n"; #4
        });

    }elseif($worker->id === 1){
        new Crontab('1 * * * * *', function(){
            echo "test3".date('Y-m-d H:i:s')."\n"; # 2
            sleep(5);
        });


        new Crontab('1 * * * * *', function(){
            echo "test4".date('Y-m-d H:i:s')."\n"; #5
        });
    }elseif($worker->id === 2){
        new Crontab('1 * * * * *', function(){
            echo "test5".date('Y-m-d H:i:s')."\n"; #3
            sleep(5);
        });


        new Crontab('1 * * * * *', function(){
            echo "test6".date('Y-m-d H:i:s')."\n"; #6
        });
    }


    难点:
    配置 site.php,到 redis 需要手动写代码


     

  • 相关阅读:
    Curve 文件存储随着存量数据增长
    宽带光纤接入网中影响家宽业务质量的常见原因有哪些
    使用pytest和allure框架实现自动化测试报告优化
    你真的了解 Session 和 Cookie 吗?
    Fisher辨别分析
    一体化伺服电机在三轴钻孔机中的应用
    Controller层代码组织方式
    正大国际:期货结算价是如何理解呢?结算价有什么作用?
    F. Minimum Maximum Distance Codeforces Round 903 (Div. 3)
    提升开发效率的17个小工具
  • 原文地址:https://blog.csdn.net/rainredhezhang/article/details/132835083