分类 电脑 下的文章

wordpress的php执行超时 - connect_timeout - nginx - php7.4

问题: debian 11默认安装的nginx和php7.4-fpm,在wordpress扫描经sftp上传的图片导到媒体库时,经常提示Ajax错误。nginx错误日志为:upstream timed out (110: Connection timed out) while reading response header from upstream。

尝试:在站点的php配置内容中,适当加大超时时间,如:

fastcgi_read_timeout 600;
fastcgi_send_timeout 600;
fastcgi_connect_timeout 600;

参考:https://stackoverflow.com/questions/59713432/nginx-php-fpm-fastcgi-upstream-timed-out

搬站后magento2后台输入正确的密码后提示错误 - Undefined offset: 2 vendor/magento/framework/Encryption/Encryptor.php

问题:将magento 2.3的站点迁移到一个新的机子,输入正确的用户和密码后登录后台,提示错误,如 Undefined offset: 2 vendor/magento/framework/Encryption/Encryptor.php

尝试:有可能是不同版本php或环境导致的。可以尝试用以下mysql查询重设密码。如将admin用户重设为XinMiMa的新密码。

UPDATE admin_user SET password = CONCAT(SHA2('baweidezXinMiMa', 256), ':baweidez:1') WHERE username = 'admin';

参考:https://magento.stackexchange.com/questions/280204/magento-2-3-2-undefined-offset-encryptor-php

用电脑摄像头照人像,OBS Studio 推流, nginx 作流服务端,直播

需求:想让别人看到我在电脑上的操作界面。

步骤:

  1. apt install libnginx-mod-rtmp # 在debian 11里安装nginx的rtmp模块
  2. 在合适的位置,如nginx.conf文件中,添加以下内容,目的是启用rtmp直播及hls

    rtmp {
    server {
        listen 1935;
        application live {
            live on;
            interleave on;
    
            hls on;
            hls_path /var/www/hls;
            hls_fragment 15s;
        }
    }
    }
  3. 添加相关的站点设置内容,如:

    server {
        listen 443 ssl http2;
        listen [::]:443 ssl;
    
        ssl_certificate           /etc/nginx/ssl/fullchain.cer;
        ssl_certificate_key       /etc/nginx/ssl/anqun.org.key;
    
        server_name hls.anqun.org;
        root /var/www/hls;
    }
    
    server {
        listen 80;
        listen [::]:80;
    
        server_name hls.anqun.org;
        return 301 https://$server_name$request_uri;
    }
  4. 下载ckplayer,放到站点目录中,添加 index.html 文件,内容如下。其中kf.m3u8是obs直播时推送的串流密钥

    <html>
    <head>
        <link rel="stylesheet" type="text/css" href="ckplayer/css/ckplayer.css">
        <script type="text/javascript" charset="utf-8" src="ckplayer/js/ckplayer.js"></script>
    </head>
    <body>
        <div class="video" ></div>
        <script type="text/javascript">
            //定义一个变量:videoObject,用来做为视频初始化配置
    var videoObject = {
    container: '.video', //容器的ID或className
    live:true,//指定为直播
    plug:'hls.js',//使用hls.js插件播放m3u8
    video:'/kf.m3u8'//视频地址
    }
    new ckplayer(videoObject);
        </script>
    </body>
    </html>
  5. obs的“推流”设置:服务器为“rtmp://hls.anqun.org/live”;串流密钥为“kf”(这里是测试,所以密钥设置得很简单)
  6. 如果顺利,用vlc播放器可以直接播放rtmp://hls.anqun.org/live/kf 的网络地址;其它端可以通过浏览器访问https://hls.anqun.org 播放
  7. 本地测试,浏览器播放约有1分钟的延迟

dn_obs-live_1.png

dn_obs-live_2.png

参考:

打网线水晶头

前几天,本地电信有人打电话来,说因为我是电信老用户,可免费将我的宽带速率升到三百兆,免费用两年。我当前的套餐是二十兆特惠价的宽带。其实早先在实际使用过程中,我就知道下载速率是一百兆,免费升级了的。这次,电信主动打电话来又免费升级,我当然乐意接受。

重启光猫后,我在电脑浏览器里测速,顶多一百兆,不是三百兆。我想了又想,恍然大悟:本栋楼加装电梯后,将弱电井的光纤线移位了。当时我为了方便,屋外的光纤是钻孔放到厅的角几上,宽带再经角几上的一条网线从网线面板回到屋内的弱电箱,弱电箱的网线再到各只房间。电信装机师傅装光猫时,一定要求开通IPTV照相完工,所以师傅是将角几的一条网线一分为二,电脑和IPTV各自使用一条网线中的四条线芯(见图1)。弱电箱里的线也相应使用网线中的四条线芯接驳。在百兆的使用环境中,这样是可以的。但要使用网线的传输速度超过100Mbps,就必须使用网线的全部八条线芯。我感叹,都话世事多变,连里几条网线也系在这十年间变来变去的:因加装电梯需求变、因电信IPTV接口变、现在又要因升级速率变。具体变化是:网线打了水晶头后,又被剪掉直接驳铜线,现在又要驳开铜线打回水晶头。来来回回。

电信升级宽带速率后,如果是超过一百兆的,首先要需要检查光猫的网线口是否支持千兆,然后检查网线是否支持千兆,再检查连在网线上的设备(交换机、或电脑网卡)是否支持千兆。如果是干路上的网线或设备有一个不支持千兆,那么终端的设备也不能获得超过100Mbps的速率,这就是他们说的“木桶效应”——以最低速率的为实际使用值。

虽然300Mbps是100Mbps的三倍,假如要花钱升级,我是不愿意的。平时用电脑,我就是看看网页,下载些小文件,一百兆也够用了的。偶尔下载超过10GB大小的游戏文件时,我会有点心急,觉得下载要等嘅久。为了体验这300Mbps的新速度,我替换了一条网线,打了六个网线水晶头。以前我是挺喜欢打网线水晶头的,因为有成就感啊:一般人没有这专打水晶头用的网线钳。不过,时代在变化,现在新装修的房子,基本上也不用打水晶头了,因为有网线的插口面板,如同墙上插座的面板,将线用手指按压咬合网线线芯后就可以了。

今天我开始动手打水晶头,忘记了线序,不得不在手机上搜索示例,按“白橙、橙、白绿、蓝、白蓝、绿、白棕、棕”的口诀背,再依着顺序排线,打上水晶头。打第一、第二个还好,要打第三个水晶头时,我已经有点不耐烦了。心里想,这多枯燥啊,手指头都要搓疼。有一条网线,是测得第4条线芯信号不通。我截掉旧水晶头,重新打一个水晶头,一测还是第4条线芯不亮灯。我只好倒转来,截掉网线另一端的水晶头,再换上新的。又来测试,我去,好家伙,仅三个灯亮,这新做的水晶头还不如旧水晶头呢。我发了脾气,气冲冲地用左手顺着网线用力拽,硬打硬要将网线从咬合的水晶头拔出来般。拽了一次没拽出来,我又接着拽了两次。我捏着网线的水晶头看,噢,网线皮套被我从水晶头拉出来了。我又用网线钳,着力再钳了两次,要将水晶头里的铜片往网线线芯再压压,力求水晶头的铜片和网线铜芯接触良好。哎呀,果真,现在网线八个测试灯都会闪亮了。我不敢说这是“大力出神奇”,因为我觉得这是质量问题,要么是材料和工具(水晶头、网线钳)有问题,要么是我手艺差。但我不想加工,不想再截、再打水晶头了,我还要煲饭的呢。我自我安慰,这系自家用的,不嫌。如果以后上不了网,我知道是哪条网线捣鬼就行。

两年后,电信是否会要求我为这三百兆速率的宽带多付些钱,我不知道。按我现在的想法,我宁愿按现有的包年价(360元)续用,一百兆就一百兆。

ubuntu 22.04 - jammy - autoinstall - pxe 自动安装

上一篇,测试了 debian 11 的pxe自动安装:https://liujia.anqun.org/index.php/archives/3994/ 。 这里想试试 ubuntu 22.04的。

  1. /srv/tftp/os-images/bullseye/netboot/pxelinux.cfg/01-08-00-27-49-b4-6c # 偷懒,直接使用 debian 11 netboot 中的 pxelinux 文件。仅对pxelinux的配置文件内容做改动。其中 vmlinuz 和 initrd 是从 ubuntu-22.04.1-live-server-amd64.iso 提取到的。http://192.168.3.1/jammy/ 中有 user-data 和 meta-data 配置文件

    DEFAULT linux
     SAY Now booting the kernel from SYSLINUX...
    LABEL linux
    #  KERNEL debian-installer/amd64/linux
    #  APPEND auto=true hostname=auto2 domain=local preseed/url=tftp://192.168.3.1/os-images/bullseye/preseed.cfg initrd=debian-installer/amd64/initrd.gz
    
    KERNEL http://192.168.3.1/jammy/vmlinuz
    INITRD http://192.168.3.1/jammy/initrd
    APPEND ip=dhcp autoinstall ds=nocloud-net;s=http://192.168.3.1/jammy/ url=http://192.168.3.1/jammy/ubuntu-22.04.1-live-server-amd64.iso
  2. http://192.168.3.1/jammy/user-data # 自动安装的应答文件内容,这里仅设置用户及安装openssh-server

    #cloud-config
    autoinstall:
     identity:
    hostname: jammy2
    password: $6$5lpwCLsKLEzMkSJc$keOAhA6aO/5RocGThmhVA7LSNuW911Rx5HHXFEa75oGK20cEdAAgn14H5f5nGeq6QgcSyLPrWcg1.JvjXbhrN/
    username: ubuntu
     locale: zh_CN.UTF-8
     ssh:
    install-server: yes
     late-commands:
     - 'echo "ubuntu ALL=(ALL) NOPASSWD:ALL" > /target/etc/sudoers.d/ubuntu-nopw'
     - chmod 440 /target/etc/sudoers.d/ubuntu-nopw
     version: 1

遇到的问题,安装ubuntu 22.04的虚拟机分配了4GB内存,还不够用,用6GB内存后才顺利安装完成。

参考: