分类: 技术

其实我也是个程序猿

  • NetCup部署ThinkPHP6项目Apache重写

    NetCup部署ThinkPHP6项目Apache重写

    <IfModule mod_rewrite.c>
        Options -MultiViews
        RewriteEngine On
    
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    </IfModule>

  • 一键部署的Docker化claude-code-router解决方案

    一键部署的Docker化claude-code-router解决方案

    Docker Run

    docker run -d \
    --name ccr \
    -v /your/local/path/config.json:/root/.claude-code-router/config.json \ # 👈 关键映射
    -p 3456:3456 \ # 端口映射在下个步骤
    lie5860/claude-code-router

    Config.json

    {
      "Providers": [
        {
          "name": "openrouter",
          "api_base_url": "http://xxxx/v1/chat/completions",
          "api_key": "sk-xxxx",
          "models": [
            "gemini-2.5-pro",
            "gpt-4o-mini"
          ],
          "transformer": {
            "use": [
              [
                "maxtoken",
                {
                  "max_tokens": 1000000
                }
              ]
            ]
          }
        }
      ],
      "Router": {
        "default": "openrouter,gpt-4o-mini",
        "background": "openrouter,gpt-4o-mini",
        "think": "openrouter,gemini-2.5-pro",
        "longContext": "openrouter,gemini-2.5-pro"
      },
      "APIKEY": "sk-这个是保护你的 ccr 服务器安全。在你本地claude code 使用的时候 ANTHROPIC_API_KEY要填的值",
      "HOST": "0.0.0.0"
    }
  • Alibaba ESA初体验

    Alibaba ESA初体验

    给博客海外解析分流到了阿里(没有备案国内不通),目前看起来还不错。

  • 常用Composer库整理

    常用Composer库整理

    • itbdw/ip-database(一款用来获取IP定位的库)
  • 用于哪吒探针网络检测的各地区三网IP地址

    用于哪吒探针网络检测的各地区三网IP地址

    全国三网IP地址

    • 河北
    联通移动电信
    61.182.138.156111.62.229.10027.185.242.215
    • 山西
    联通移动电信
    60.221.18.41183.201.244.911.71.157.41
    • 辽宁
    联通移动电信
    218.61.211.13236.131.156.145123.184.58.41
    • 吉林
    联通移动电信
    122.143.8.41111.27.127.176123.172.127.217
    • 黑龙江
    联通移动电信
    113.7.211.140111.42.190.2542.101.84.132
    • 江苏
    联通移动电信
    122.96.235.16536.156.92.13258.215.210.220
    • 浙江
    联通移动电信
    101.69.194.224117.147.213.41115.220.14.91
    • 安徽
    联通移动电信
    112.132.208.41112.29.198.100223.247.108.251
    • 福建
    联通移动电信
    36.248.48.139112.50.96.88106.126.10.28
    • 江西
    联通移动电信
    116.153.69.224117.168.150.249106.227.22.132
    • 山东
    联通移动电信
    112.240.56.143120.220.145.91144.123.160.140
    • 河南
    联通移动电信
    123.6.65.101111.7.99.220171.15.110.220
    • 湖北
    联通移动电信
    122.189.226.138111.47.131.101111.170.8.60
    • 湖南
    联通移动电信
    116.162.28.220120.226.192.91113.240.117.108
    • 广东
    联通移动电信
    112.90.211.100183.240.65.191183.36.23.111
    • 海南
    联通移动电信
    153.0.226.35111.29.29.219124.225.43.220
    • 四川
    联通移动电信
    101.206.163.49183.220.151.41118.123.218.220
    • 贵州
    联通移动电信
    117.187.254.13261.243.18.22058.42.61.132
    • 云南
    联通移动电信
    14.204.150.4136.147.44.219222.221.102.220
    • 陕西
    联通移动电信
    123.139.127.132111.19.148.100124.115.14.100
    • 甘肃
    联通移动电信
    59.81.94.53117.157.16.41118.182.228.91
    • 青海
    联通移动电信
    116.177.237.137111.12.152.170223.221.216.219
    • 内蒙古
    联通移动电信
    116.114.98.41117.161.76.41110.76.186.70
    • 广西
    联通移动电信
    171.39.5.5136.136.112.41222.217.93.55
    • 西藏
    联通移动电信
    43.242.165.35117.180.234.41113.62.176.89
    • 宁夏
    联通移动电信
    116.129.226.28111.51.155.214222.75.44.220
    • 新疆
    联通移动电信
    116.178.77.4036.189.208.164110.157.243.45
    • 北京
    联通移动电信
    202.108.29.159222.35.73.1220.181.173.35
    • 天津
    联通移动电信
    116.78.119.56111.31.236.3542.81.98.35
    • 上海
    联通移动电信
    59.81.65.42183.194.219.220101.227.191.14
    • 重庆
    联通移动电信
    113.207.69.190221.178.81.101119.84.131.101

    作者:木子欢儿

    出处:https://www.cnblogs.com/HGNET/p/18321585

    版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

    部分文章来源于网络,如疏漏未标注原文地址或侵权,请联系进行删除。

  • mysql8.0下创建表语句生成utf8mb4_general_ci

    mysql8.0下创建表语句生成utf8mb4_general_ci

    将SQL语句中的CHARSET=utf8mb4 替换为 CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci

    如果想设置数据库默认字符集,可以在my.cnf进行配置

    [mysqld]
    character-set-server=utf8mb4
    collation-server=utf8mb4_general_ci

  • ARM架构下安装mysql5.7

    ARM架构下安装mysql5.7

    场景:arm架构下,mysql只支持8.0 ,mysql5.7不支持,采用docker镜像模式安装

    docker pull biarms/mysql:5.7.30-linux-arm64v8 #支持arm架构的mysql 5.7镜像包

    1、拉取镜像

    docker pull biarms/mysql:5.7.30-linux-arm64v8

    2、创建mysql容器目录

    mkdir -p /data/mysql/{conf,data,logs}

    3、新建my.cnf配置文件

    [mysql]
    
    default-character-set=utf8
    
    socket=/var/lib/mysql/mysql.sock
    
    [mysqld]
    # 关闭二进制日志
    
    skip-log-bin
    
    #mysql5.7以后的不兼容问题处理
    
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    
    datadir=/var/lib/mysql
    
    socket=/var/lib/mysql/mysql.sock
    
    symbolic-links=0
    
    max_connections=200
    
    character-set-server=utf8
    
    default-storage-engine=INNODB
    
    lower_case_table_names=1
    
    max_allowed_packet=16M
    
    default-time_zone='+8:00'
    
    [mysqld_safe]
    
    log-error=/var/log/mysql/mysql.log
    
    pid-file=/var/run/mysql/mysql.pid
    
    !includedir /etc/mysql/conf.d/
    
    !includedir /etc/mysql/mysql.conf.d/

    4、运行容器

    docker run -p 3306:3306 --name mysql5.7 \
    -v ./data/mysql/conf/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \
    -v ./data/mysql/logs:/var/log/mysql \
    -v ./data/mysql/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=root \
    -d biarms/mysql:5.7.30-linux-arm64v8

    5、说明

    -p 3306:3306 容器内部端口和服务器端口映射关联

    –privileged=true 设置mysql用户,否则外部不能使用root用户登录

    -v /data/mysql/conf/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf 服务器的

    /data/mysql/conf/my.cnf配置映射到docker的my.cnf

    -v /data/mysql/data:/var/lib/mysql 映射数据库的数据目录,避免docker删除重新运行mysql容器,导致数据丢失

    -e MYSQL_ROOT_PASSWORD=123456 设置root账号的密码

    –name mysql mysql:5.7 从docker镜像mysql:5.7启动一个容器,并设置容器的名称为mysql

    –character-set-server=utf8mb4 –collation-server=utf8mb4_general_ci 设置数据库默认编码

    原文链接:https://blog.csdn.net/qsm44593342/article/details/132775772

  • docker中mysql关闭二进制日志

    docker中mysql关闭二进制日志

    1.创建my.cnf文件

    # 删除旧的 my.cnf 文件(如果存在)
    rm -f my.cnf
    
    # 创建新的 my.cnf 文件并写入内容
    echo -e "[mysqld]\nskip-log-bin" > my.cnf
    
    # 确保文件权限正确
    chmod 644 my.cnf

    2.将my.cnf映射出来

    services:
      mysql:
        image: mysql
        container_name: mysql
        restart: always
        ports:
          - "3306:3306"
        volumes:
          - ./mysql:/var/lib/mysql
          - ./my.cnf:/etc/mysql/my.cnf
        environment:
          MYSQL_ROOT_PASSWORD: xxxxxxx
          MYSQL_USER: xiaogang
          MYSQL_PASSWORD: xxxxxxx
    

    3.重新启动docker容器

    docker-compose down
    docker-compose up -d
    

    4.进入容器验证

    docker exec -it mysql mysql -u root -p

    然后输入密码进入mysql中

    5.验证

    SHOW BINARY LOGS;
    
    #结果:ERROR 1381 (HY000): You are not using binary logging
    
    SHOW VARIABLES LIKE 'log_bin';
    
    #结果:OFF
  • docker-compose:mysql+redis+phpmyadmin

    docker-compose:mysql+redis+phpmyadmin

    创建my.cnf文件

    # 删除旧的 my.cnf 文件(如果存在)
    rm -f my.cnf
    
    # 创建新的 my.cnf 文件并写入内容
    echo -e "[mysqld]\nskip-log-bin" > my.cnf
    
    # 确保文件权限正确
    chmod 644 my.cnf
    

    docker-compose.yml文件

    version: '3'
    services:
      mysql:
        image: mysql
        container_name: mysql
        restart: always
        ports:
          - "3306:3306"
        volumes:
          - ./mysql:/var/lib/mysql
          - ./my.cnf:/etc/mysql/my.cnf
        environment:
          MYSQL_ROOT_PASSWORD: root密码
          MYSQL_USER: xiaogang
          MYSQL_PASSWORD: 用户密码
    
      redis:
        image: redis:alpine
        container_name: redis
        restart: always
        ports:
          - "6379:6379"
        volumes:
          - ./redis:/data
    
      phpmyadmin:
        image: phpmyadmin:latest
        container_name: myadmin
        restart: always
        ports:
          - "13306:80"
        environment:
          PMA_ARBITRARY: 1

    运行容器

    docker-compse up -d

  • screen使用教程

    screen使用教程

    一、screen命令是什么?

    Screen是一个可以在多个进程之间多路复用一个物理终端的全屏窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。

    二、如何安装screen命令?

    除部分精简的系统或者定制的系统大部分都安装了screen命令,如果没有安装,CentOS系统可以执行:yum install screen ;

    CentOS 8上移除了screen,需要安装epel后安装screen执行:yum install screen ;

    Debian/Ubuntu系统执行:apt-get install screen 。

    三、screen命令使用方法?

    1、常用的使用方法

    用来解决文章开始我们遇到的问题,比如在安装lnmp时。

    1.1 创建screen会话

    可以先执行:screen -S lnmp ,screen就会创建一个名字为lnmp的会话。 VPS侦探 https://www.vpser.net/

    1.2 暂时离开,保留screen会话中的任务或程序

    当需要临时离开时(会话中的程序不会关闭,仍在运行)可以用快捷键Ctrl+a d(即按住Ctrl,依次再按a,d)

    1.3 恢复screen会话

    当回来时可以再执行执行:screen -r lnmp 即可恢复到离开前创建的lnmp会话的工作界面。如果忘记了,或者当时没有指定会话名,可以执行:screen -ls screen会列出当前存在的会话列表,如下图:

    11791.lnmp即为刚才的screen创建的lnmp会话,目前已经暂时退出了lnmp会话,所以状态为Detached,当使用screen -r lnmp后状态就会变为Attached,11791是这个screen的会话的进程ID,恢复会话时也可以使用:screen -r 11791

    1.4 关闭screen的会话

    执行:exit ,会提示:[screen is terminating],表示已经成功退出screen会话。VPS侦探 https://www.vpser.net/

    2、远程演示

    首先演示者先在服务器上执行 screen -S test 创建一个screen会话,观众可以链接到远程服务器上执行screen -x test 观众屏幕上就会出现和演示者同步。

    3、常用快捷键

    Ctrl+a c :在当前screen会话中创建窗口
    Ctrl+a w :窗口列表
    Ctrl+a n :下一个窗口
    Ctrl+a p :上一个窗口
    Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换

    出处:VPS侦探 本文链接地址:https://www.vpser.net/manage/screen.html