作者: houlijiang

  • liunx无线网卡推荐

    liunx无线网卡推荐: https://item.jd.com/10145853764592.html

    image.png

    系统查看命令:

    [root@home-bj ~]# uname -r
    3.10.0-1160.el7.x86_64
    [root@home-bj ~]# modprobe -nv rt2800usb
    insmod /lib/modules/3.10.0-1160.el7.x86_64/kernel/net/rfkill/rfkill.ko.xz 
    insmod /lib/modules/3.10.0-1160.el7.x86_64/kernel/net/wireless/cfg80211.ko.xz 
    insmod /lib/modules/3.10.0-1160.el7.x86_64/kernel/net/mac80211/mac80211.ko.xz 
    insmod /lib/modules/3.10.0-1160.el7.x86_64/kernel/drivers/net/wireless/ralink/rt2x00/rt2x00lib.ko.xz 
    insmod /lib/modules/3.10.0-1160.el7.x86_64/kernel/lib/crc-ccitt.ko.xz 
    insmod /lib/modules/3.10.0-1160.el7.x86_64/kernel/drivers/net/wireless/ralink/rt2x00/rt2800lib.ko.xz 
    insmod /lib/modules/3.10.0-1160.el7.x86_64/kernel/drivers/net/wireless/ralink/rt2x00/rt2x00usb.ko.xz 
    insmod /lib/modules/3.10.0-1160.el7.x86_64/kernel/drivers/net/wireless/ralink/rt2x00/rt2800usb.ko.xz 
    [root@home-bj ~]# 
    

    如何在CentOS系统中连接无线网络?

    在CentOS系统上连接无线网络,可以通过以下步骤实现,以下是详细的操作指南:

    如何在CentOS系统中连接无线网络?

    一、准备工作

    1、确认无线网卡已安装:首先需要确保你的CentOS系统已经安装了无线网卡驱动程序,并且无线网卡已经插入到计算机中。

    2、安装必要的软件包:如果系统中没有安装wpa_supplicant、iw 和net-tools 等工具,可以使用以下命令进行安装:

       yum -y install wpa_supplicant iw net-tools

    二、查找无线网卡接口

    1、使用ip link 命令查看系统中的网卡接口:

       ip link

    无线网卡以wlp 开头。wlp3s0。

    三、启用无线网卡

    1、使用ip link set 命令启用无线网卡:

       ip link set wlp3s0 up

    2、使用ip link show wlp3s0 命令查看该网络接口的状态,确保无线网的驱动已打开。

    如何在CentOS系统中连接无线网络?

    四、扫描并连接到无线网络

    1、扫描可用的WiFi网络:使用iw dev wlp3s0 scan | grep SSID 命令扫描附近的WiFi网络。

    2、连接到指定的WiFi网络:使用wpa_supplicant 命令连接到无线网络,假设网络名称为 "ssid",密码为 "psk",执行以下命令:

       wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "ssid" "psk")

    3、设置自动分配IP地址:使用dhclient 命令为无线网卡分配IP地址:

       dhclient wlp3s0

    4、验证是否成功获取IP地址:使用ip addr show wlp3s0 命令查看是否成功获取了IP地址。

    五、配置永久连接(可选)

    1、创建wpa_supplicant配置文件:为了在重启后自动连接,可以创建一个wpa_supplicant配置文件/etc/wpa_supplic ant/wpa_supplicant.conf如下:

       network={
           ssid="your_ssid"
           psk="your_password"
           key_mgmt=WPA-PSK
       }

    2、修改NetworkManager配置:如果需要使用NetworkManager来管理无线网络连接,可以编辑对应的NetworkManager配置文件,或者使用nmtui 图形界面工具进行配置。

    如何在CentOS系统中连接无线网络?

    六、常见问题与解答

    1、无线网卡无法识别怎么办?:检查无线网卡是否已正确安装,并尝试重新安装驱动程序,如果问题依然存在,可能需要手动加载固件,使用dmesg | grep firmware 查看是否有来自无线网卡的固件请求。

    2、连接成功后无法访问互联网怎么办?:确认DNS设置是否正确,可以尝试手动添加DNS服务器,如Google的8.8.8.8,编辑/etc/resolv.conf 文件,添加以下内容:

       nameserver 8.8.8.8

    通过以上步骤,你应该能够在CentOS系统上成功连接并使用无线网络,如果有任何问题,可以参考上述常见问题与解答部分进行排查。

    以上就是关于“centos连接上无线网络”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

  • TVBOX/影视仓_视频接口+直播接口推荐

    TVBOX/影视仓_视频接口+直播接口推荐

    (推荐)科技长青:

    http://yuan.haitangw.net/tv/

    (推荐)长青聚合多线:

    http://yuan.haitangw.net/box/

    (备用)摸鱼:

    http://我不是.摸鱼儿.top

    (备用)饭太硬

    http://www.饭太硬.com/tv/

    (备用)讴歌:

    http://tv.nxog.top/m/

    肥猫:

    http://肥猫.com

    春莹天下:

    https://盒子迷.top/春盈天下

    巧技

    http://cdn.qiaoji8.com/tvbox.json

    王小二:

    http://tvbox.xn--4kq62z5rby2qupq9ub.top/

    OK吊炸天:

    http://ok321.top/tv

    直播接口:

    http://yuan.haitangw.net/ZB/
  • nginx 如何部署ssl证书

    编辑 Nginx 配置文件:

    打开你的 Nginx 配置文件(通常是 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/default)。

    server {
        listen 443 ssl;
        server_name yourdomain.com;
    
        ssl_certificate /path/to/your/fullchain.crt;  # 你的证书文件,可能包括中间证书
        ssl_certificate_key /path/to/your/private.key;  # 你的私钥文件
    
        ssl_protocols TLSv1.2 TLSv1.3;  # 仅启用安全的协议
        ssl_ciphers HIGH:!aNULL:!MD5;  # 启用强大的加密算法
    
        # 其他配置,如 location 块
        location / {
            root /var/www/html;
            index index.html index.htm index.nginx-debian.html;
        }
    }

    重定向 HTTP 到 HTTPS:

    server {
        listen 80;
        server_name yourdomain.com;
    
        return 301 https://$host$request_uri;
    }

    测试 Nginx 配置:

    在重启 Nginx 之前,确保你的配置是正确的。

    nginx -t

    重启 Nginx:

    如果配置正确,重启 Nginx 以应用更改。

    sudo systemctl restart nginx
    #或者
    nginx -s reload
  • PHP HTML解析器

    PHPHtmlParser是一款简单灵活的HTML解析器,允许您使用任何CSS选择器来选取标签,类似于jQuery的方式。其目标是为那些需要快速简便地抓取HTML(无论是否合法)的工具提供帮助!

    安装 通过Composer安装最新版本。

    $ composer require paquettg/php-html-parser

    本包可在Packagist上找到,并推荐通过Composer加载。我们支持PHP 7.2、7.3和7.4。

    基本用法 在测试目录中,您可以找到关于如何使用DOM解析器及其各部分(很可能您永远不会直接触碰)的许多示例。这些测试使用PHPUnit编写,非常简短,每个只有几行,是开始学习的好地方。即便如此,我仍会展示一些如何使用该包的基本例子。以下是一个非常简单的使用示例:

    // 假设您已通过Composer安装:

    require "vendor/autoload.php";
    use PHPHtmlParser\Dom;
    
    $dom = new Dom;
    $dom->loadStr('<div class="all"><p>嘿,兄弟,<a href="https://gitcode.com/gh_mirrors/ph/php-html-parser/blob/master/google.com">点击这里</a>
    <br /> :)</p></div>');
    $a = $dom->find('a')[0];
    echo $a->text; // 输出 "点击这里"

    这段代码将输出“点击这里”。简单吧?从DOM获取相同结果的方式有很多种,比如$dom->getElementsByTagName(‘a’)[0]或$dom->find(‘a’, 0),更多用法可参考测试案例或源码本身。

    支持PHP Html Parser的资金赞助 获取受支持的Monolog,并通过Tidelift订阅资助该项目。

    Tidelift为您的应用所依赖的开源依赖项提供了商业级别的支持与维护。节省时间,降低风险,改善代码健康状况,同时支持您实际使用的依赖项的维护者。

    加载文件 您也可以无缝地将文件加载到DOM中而不是字符串,这更方便,也是我认为大多数开发者加载HTML的方式。以下示例源自我们的测试,使用了其中的"big.html"文件。

    // 假设您已通过Composer安装:
    require "vendor/autoload.php";
    use PHPHtmlParser\Dom;
    
    $dom = new Dom;
    $dom->loadFromFile('tests/data/big.html');
    $contents = $dom->find('.content-border');
    echo count($contents); // 输出 10
    
    foreach ($contents as $content) {
        // 获取类属性
        $class = $content->getAttribute('class');
    
        // 对HTML进行处理
        $html = $content->innerHtml;
    
        // 或进一步细化查找
        $child   = $content->firstChild();
        $sibling = $child->nextSibling();
    }

    此例从"big.html"(一个真实的在线页面)加载HTML,获取所有.content-border类以进行处理,并展示了可以对节点执行的一些操作,但并非节点可用方法的完整列表。

    加载URL 加载URL的方式与从文件加载HTML非常相似。

    // 假设您已通过Composer安装:
    require "vendor/autoload.php";
    use PHPHtmlParser\Dom;
    
    $dom = new Dom;
    $dom->loadFromUrl('http://google.com');
    $html = $dom->outerHtml;

    // 或者

    $dom->loadFromUrl('http://google.com');
    $html = $dom->outerHtml; // 结果与第一个示例相同
    默认情况下,loadFromUrl使用\Psr\Http\Client\ClientInterface的一个实现来执行HTTP请求,并使用一个默认的\Psr\Http\Message\RequestInterface实现来构造请求体。您可以轻松实现自己的客户端或请求版本,以便在使用loadFromUrl时使用自定义的HTTP连接。
    
    // 假设您已通过Composer安装:
    require "vendor/autoload.php";
    use PHPHtmlParser\Dom;
    use App\Services\MyClient;
    
    $dom = new Dom;
    $dom->loadFromUrl('http://google.com', null, new MyClient());
    $html = $dom->outerHtml;
    只要客户端对象正确实现了接口,它就会使用那个对象来获取URL的内容。

    加载字符串 直接加载字符串也非常简单。

    // 假设您已通过Composer安装:

    require "vendor/autoload.php";
    use PHPHtmlParser\Dom;
    
    $dom = new Dom;
    $dom->loadStr('
    <html>字符串</html>');
    $html = $dom->outerHtml;

    配置选项 您还可以设置影响解析引擎行为的解析选项。可以通过Dom对象的setOptions方法设置全局选项数组,或者将选项作为load方法的额外(可选)参数添加来设定实例特定的选项。

    // 假设您已通过Composer安装:
    require "vendor/autoload.php";
    use PHPHtmlParser\Dom;
    use PHPHtmlParser\Options;
    
    $dom = new Dom;
    $dom->setOptions(
        // 这被设置为全局选项级别。
        (new Options())
            ->setStrict(true)
    );
    
    $dom->loadFromUrl('http://google.com', 
        (new Options())->setWhitespaceTextNode(false) // 只在此加载中适用。
    );
    
    $dom->loadFromUrl('http://gmail.com'); // 将不会设置whitespaceTextNode为false。

    目前,我们支持12个配置选项。

    严格模式 默认关闭,当发现HTML不严格合规(所有标签都必须有闭合标签,没有无值属性等)时抛出StrictException。

    空白文本节点 默认开启,告诉解析器保存即使是空内容(仅空白字符)的文本节点。设置为假则忽略文档中的所有仅空白文本节点。

    强制编码 默认为空,用于指定读取内容和返回内容时使用的字符集。若设为null,则尝试从给定字符串的内容中推断编码。

    其余选项还包括清理输入阶段控制(cleanupInput)、移除脚本和样式标签、保留换行符、去除双倍空格、移除Smarty脚本以及HTML特殊字符解码等功能,它们各自都有详细的描述和默认值,使用户能根据需求定制解析过程。

    静态外观(Static Facade) 您还可以为 Dom 对象安装一个静态外观。

    PHPHtmlParser\StaticDom::mount();
    
    Dom::loadFromFile('tests/big.html');
    $objects = Dom::find('.content-border');

    上述 PHP 代码块与第一个示例执行相同的操作,但使用了静态外观,该外观支持在 Dom 对象中找到的所有公共方法。

    修改 DOM 您可以随时修改通过任何加载方法创建的 DOM。要更改节点的属性,只需调用 setAttribute 方法。

    use PHPHtmlParser\Dom;
    
    $dom = new Dom;
    $dom->loadStr('<div class="all"><p>Hey bro, <a href="https://gitcode.com/gh_mirrors/ph/php-html-parser/blob/master/google.com">click here</a>
    <br /> :)</p></div>');
    $a = $dom->find('a')[0];
    $a->setAttribute('class', 'foo');
    echo $a->getAttribute('class'); // "foo"

    您还可以直接获取 PHPHtmlParser\Dom\Tag 类并按需操作它。

    use PHPHtmlParser\Dom;
    
    $dom = new Dom;
    $dom->loadStr('<div class="all"><p>Hey bro, <a href="https://gitcode.com/gh_mirrors/ph/php-html-parser/blob/master/google.com">click here</a>
    <br /> :)</p></div>');
    /** @var Dom\Node\AbstractNode $a */
    $a   = $dom->find('a')[0];
    $tag = $a->getTag();
    $tag->setAttribute('class', 'foo');
    echo $a->getAttribute('class'); // "foo"

    也可以从树中删除节点。只需对任何节点调用 delete 方法即可将其从树中移除。重要的是要注意,在从 DOM 中删除节点后应将其取消设置,否则它仍会占用内存。

    use PHPHtmlParser\Dom;
    
    $dom = new Dom;
    $dom->loadStr('<div class="all"><p>Hey bro, <a href="https://gitcode.com/gh_mirrors/ph/php-html-parser/blob/master/google.com">click here</a>
    <br /> :)</p></div>');
    /** @var Dom\Node\AbstractNode $a */
    $a   = $dom->find('a')[0];
    $a->delete();
    unset($a);
    echo $dom; // '<div class="all"><p>Hey bro, <br /> :)</p></div>';

    您可以轻松地修改 TextNode 对象的文本。请注意,如果您设置了编码,新文本将使用现有编码进行编码。

    use PHPHtmlParser\Dom;
    
    $dom = new Dom;
    $dom->loadStr('<div class="all"><p>Hey bro, <a href="https://gitcode.com/gh_mirrors/ph/php-html-parser/blob/master/google.com">click here</a>
    <br /> :)</p></div>');
    /** @var Dom\Node\InnerNode $a */
    $a   = $dom->find('a')[0];
    $a->firstChild()->setText('biz baz');
    echo $dom; // '<div class="all"><p>Hey bro, <a href="https://gitcode.com/gh_mirrors/ph/php-html-parser/blob/master/google.com">biz baz</a>
    <br /> :)</p></div>'
  • ssl证书各个平台价格对比

    华为云:336.15元/年

    image.png

    阿里云:336.15元/年

    image.png

    腾讯云:532元/年

    image.png

    西部数码:38元/年

    image.png

  • 立即下载使用 swoole-cli

    1. swoole 版本由 v5.1.4 升级为 v5.1.5 , swoole v5.1.4 info
    2. 修复发版时 swoole 版本错误
    3. 修复 macos 环境 mongodb 扩展构建错误
    4. 修复 libxml2, libxslt URL
    5. 删除 docker build –progress=plain 参数,非通用参数,部分 docker 版本不支持
    6. 为 make.sh 添加可执行属性
    7. 设置 加载 php.ini 默认目录(/usr/local/swoole-cli/etc/php.ini)
    8. 优化同步 PHP 源码脚本
    9. 优化macos 环境下构建流程
    
    curl -fSL https://github.com/swoole/swoole-cli/blob/main/setup-swoole-cli-runtime.sh?raw=true | bash
    
    # 来自 https://www.swoole.com/download
    curl -fSL https://github.com/swoole/swoole-cli/blob/main/setup-swoole-cli-runtime.sh?raw=true | bash -s -- --mirror china
    
  • 解决Mysql:1055 – Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated

    解决:

    方法一:修改配置。去掉ONLY_FULL_GROUP_BY

    如果是Linux,就在配置文件(my.cnf)中修改 sql_mode 的配置(在/usr/local/etc/my.cnf路径下)并重启mysql服务。

    $ vim /usr/local/etc/my.cnf
    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    set @@sql_mode 
    ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

    如果要永久生效需要在MySQL的my.ini配置文件中去修改:

    在[mysqld]下添加sql_mode=’STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’,然后保存并重启服务。

  • CentOS7安装MySQL8(亲测无坑百分百安装成功)

    环境介绍

    操作系统:Centos7.6 MySQL版本: 8.0.30

    本文使用的是当前最新8.0.30版本,如果需要安装的版本比8.0.30高或者低,只要是8.0.*版本,那就可以按照本文说明安装,基本不会有任何问题。

    一、安装前准备

    1.卸载MariaDB

    安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB。

    1.1 查看是否安装mariadb

    rpm -qa|grep mariadb

    1.2 卸载

    rpm -e --nodeps 文件名

    1.3 检查是否卸载干净

    rpm -qa|grep mariadb

    2.检查依赖

    2.1 查看是否安装libaio

    rpm -qa|grep libaio

    如果没有安装则执行

    yum -y install libaio //安装libaio 

    2.2 查看是否安装numactl

    rpm -qa|grep numactl

    如果没有安装则执行

    yum -y install numactl //安装numactl 

    二、安装MySQL

    1.下载资源包

    可以在官网下载安装包或者在服务器直接使用wget下载。

    1.1 官网下载

    MySQL官网下载地址:https://dev.mysql.com/downloads/mysql/ 在这里插入图片描述

    1.2 wget下载

    wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.30-el7-x86_64.tar

    2.解压

    注:本文安装包上传到了 /usr/local/ 目录下

    进入安装包目录

    cd /usr/local/

    拆分tar包

    tar -xvf mysql-8.0.30-el7-x86_64.tar

    解压安装包

    tar -zxvf mysql-8.0.30-el7-x86_64.tar.gz

    3.重命名

    将解压后的文件夹重命名为mysql

    mv mysql-8.0.30-el7-x86_64/ mysql

    4.创建存储数据文件

    在重命名后的mysql文件夹中创建data文件夹

    mkdir mysql/data

    5.设置用户组并赋权

    创建用户组

    groupadd mysql

    创建用户 -r:创建系统用户 -g:指定用户组

    useradd -r -g mysql mysql

    更改属主和数组

    chown -R mysql:mysql /usr/local/mysql/

    更改权限

    chmod -R 755 /usr/local/mysql/

    6.初始化MySQL

    进入MySQL的bin目录

    cd /usr/local/mysql/bin/

    初始化

    ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

    初始化完成后会打印一个随机密码,后面会用到。 在这里插入图片描述

    7.配置参数文件

    vi /etc/my.cnf

    配置文件修改为以下内容,也可以根据自己需要设置参数。

    [client]
    port = 3306
    socket = /usr/local/mysql/data/mysql.sock
    default-character-set = utf8mb4
    
    [mysql]  
    default-character-set = utf8mb4
    
    [mysqld]  
    character-set-client-handshake = FALSE
    character-set-server = utf8mb4
    collation-server = utf8mb4_general_ci
    init_connect = 'SET NAMES utf8mb4'
    
    port = 3306
    socket = /usr/local/mysql/data/mysql.sock
    skip-external-locking
    key_buffer_size = 16M
    max_allowed_packet = 1M
    table_open_cache = 64
    sort_buffer_size = 512K
    net_buffer_length = 8K
    read_buffer_size = 256K
    read_rnd_buffer_size = 512K
    myisam_sort_buffer_size = 8M
    datadir = /usr/local/mysql/data
    #lower_case_table_names=1
    #如果要设置lower_case_table_names可以在初始化里面设置 ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower_case_table_names=1
    
    [mysqldump]
    quick
    max_allowed_packet = 16M
    
    [mysql]
    no-auto-rehash
    
    [myisamchk]
    key_buffer_size = 20M
    sort_buffer_size = 20M
    read_buffer = 2M
    write_buffer = 2M
    
    [mysqlhotcopy]
    interactive-timeout

    配置后修改 /etc/my.cnf 的权限为777

    chmod 777 /etc/my.cnf 1

    8.启动MySQL

    /usr/local/mysql/support-files/mysql.server start

    9.设置软连接,并重启MySQL

    ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
    ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
    ln -s /usr/local/mysql/mysql.sock /var/mysql.sock
    service mysql restart

    10.登录并更改密码

    [root@localhost bin]# mysql -uroot -p
    Enter password: 输入初始化随机密码

    两种改密方式二选一

    alter user 'root'@'localhost' identified by '123456';
    set password for root@localhost = '123456';

    11.开放远程连接

    mysql>use mysql;
    msyql>update user set user.Host='%' where user.User='root';
    mysql>flush privileges;    //刷新权限

    12.连接工具测试连接MySQL 在这里插入图片描述 如果服务器本地可以连接,但是连接工具远程连接不进去,则需要检查一下防火墙是否放行3306端口,也可以暂时先关闭防火墙后重试。

    关闭防火墙

    systemctl stop firewalld

    13.MySQL启动和停止 CentOS6和CentOS7命令都可以使用。

    启动

    service mysql start
    systemctl start mysql

    停止

    service mysql stop
    systemctl stop mysql

    重启

    service mysql restart
    systemctl restart mysql

    查看状态

    service mysql status
    systemctl status mysql

    三、设置开机自启动(可选)

    将服务文件拷贝到 /etc/init.d下,并重命名为mysqld

    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

    赋予可执行权限

    chmod +x /etc/init.d/mysqld

    添加服务

    chkconfig --add mysqld

    显示服务列表

    chkconfig --list

    注:如果看到mysqld的服务,并且3,4,5都是on的话则成功,如果是off,则执行

    chkconfig --level 345 mysqld on

    重启系统

    reboot

    重启后查看mysql是否开机自启动

    ps -ef|grep mysql