月度存档: 3月 2025

让ubuntu上的android模拟器运行ARM64的程序

  1. 下载Genymotion for linux最新版然后安装

  2. 安装好后注册Genymotion,登陆后选择个人使用

  3. 如图设置Genymotion的Hypervisor

    f9822c03-9a6f-4be9-8fb6-e29ff3033ea9.png

  4. 下载安装android虚拟设备,系统选择android11

  5. android11运行起来后去 https://gitcode.com/open-source-toolkit/37085 

  下载ARM64转换器,下载好后将*.zip文件拖入模拟器中,重启即可.

Ubuntu如何配置科学上网

Clash Verge Rev是代理工具Clash在Windows系统的图形客户端,同时还支持Windows、Linux、macOS三大系统,

功能强大且支持多种代理协议,如Shadowsocks(SS)、ShadowsocksR(SSR)、Socks、Snell、V2Ray、Trojan等代理协议。

  1. https://clashvergerev.org/下载Clash Verge Rev,ubuntu选择64位deb安装包

  2. 用超级权限安装:dpkg -i x.x.x.deb

  3. 启动Clash Verge Rev,添加订阅即可.

通过Nginx反向代理访问SwooleHttp服务

按照以下要求修改你的Nginx配置文件后启重Nginx:

server {
    listen 80;
    server_name sw.cpxiang.tech;
    return 301 https://$host$request_uri; # 将HTTP请求重定向到HTTPS
}

server {
    listen 443 ssl;
    server_name sw.cpxiang.tech;

    ssl_certificate /path/to/fullchain.pem; # SSL证书路径
    ssl_certificate_key /path/to/privkey.pem; # 私钥路径

    location / {
        proxy_pass http://127.0.0.1:9501; # 假设Swoole监听于9501端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Swoole异步MySQL查询

Swoole支持异步MySQL客户端,可以在不阻塞主服务器进程的情况下执行数据库查询。

这对于需要频繁访问数据库的应用来说非常有用。

$server = new Swoole\Server("127.0.0.1", 9501);
 
$server->on('start', function ($server) {
 
    echo "Swoole server is started at http://127.0.0.1:9501\n";
 
});
 
$server->on('receive', function ($server, $fd, $from_id, $data) {
 
    // 异步查询数据库
 
    $db = new Swoole\Coroutine\MySQL();
 
    $server->defer(function () use ($db) {
 
        $db->close();
 
    });
 
    $db->connect([
 
        'host' => '127.0.0.1',
 
        'user' => 'db_user',
 
        'password' => 'db_password',
 
        'database' => 'test',
 
        'charset' => 'utf8',
 
    ]);
 
    $sql = "SELECT * FROM your_table WHERE id = ?";
 
    $stmt = $db->prepare($sql);
 
    $result = $stmt->execute([1]);
 
    if ($result) {
 
        $row = $stmt->fetch();
 
        $server->send($fd, json_encode($row));
 
    } else {
 
        $server->send($fd, "Error: " . $db->error);
 
    }
 
});
 
$server->start();

上面的代码示例使用了Swoole的协程MySQL客户端,它需要在Swoole 4.1.0 或更高版本中启用协程支持。

`$server->defer` 用于确保在协程结束时关闭数据库连接。