A8DOG

A8DOG

随便写写,记录折腾过程!
telegram

没钱还想玩高配服务器,Linodes的100美金真的超爽!

我也是最近才发现的 Linodes 白嫖 100 美金,目前也是使用了一个星期,写个文章记录一下,顺便你们也可以参考入坑!

注:本文无任何广告,本站也不会打任何广告!附上一个开机并正常使用 7 天的截图。

Snipaste_2023-04-05_07-14-25

我开的这个服务器是 AMD EPYC 7642 独享 6 核心 16G 的日本机房,目前跑一些脚本处理一些东西。
目前稳了 7 天,不知道能稳多久也不知道能不能把 100 美金完全花完,到时候挂了我就在这一段的下面更新具体情况!

首先一开始我买了一个账号,然后我是直接账号密码登录,当时准备通过 API 做一个白嫖的网站,可以开免费的机器给大家折腾,然后到 72 小时自动销毁,估计是我手工登录的原因账号被封号了,但是我登录提示是账号密码不正确还是什么,我又感觉是商家把密码修改了。

于是我换了一家购买,基本上价格好像是 45-55RMB 的样子,然后我发现像亚马逊 Linodes Vultr 等这些可以白嫖的服务商,都可以通过 API 开通机器,并且目前出来专门开通机器的网站。

五合一面板开机管理:https://cloud.bobu.me/ (非广告,这个是我在第二家购买账号的商品说明看见的,说通过 API 比较稳一点。)

在第二家购买 Linodes 之前,我购买了一个亚马逊的 32v 白嫖账号,我第一次使用这个,就比较搞不懂我就干脆手工登录了账号,第二天账号就封了。

总结:#

目前我花 50 左右购买的 Linodes 账号稳了一个星期左右,至少我 50 块钱赚回来了,通过 API 开通这个 API 面板是需要付费的。

如果不想付费 API 面板,联系 chatgpt 直接告诉它要写一个 Linodes 的 API 开通实例的 PHP 文件就好了。
尽量不要手工登录账号,当然一个靠谱的账号贩子也是必要的,我第一次购买的那个我总感觉是商家把账号密码修改了。

另外 Linodes 的 100 美金额度有时间期限,好像是三个月还是两个月,不要舍不得花直接高配机器开起来。
这个的话使用场景基本是跑一些不重要的脚本,富强和建站都不合适,毕竟不知道时候就挂了。
拿来折腾做测试比较不错的,我目前也是跑了一些东西 CPU 使用百分之六十左右。

折腾玩法#

如果你在此之前通过 API 开通机器,Linodes 账号都比较稳,或者说你有精力去折腾不怕服务器异常导致流量掉或者 seo 排名问题,再或者你的场景是固定数据的 cms 程序,想花少一点的钱去分摊服务器算力可以尝试我下面的方法。

首先你有一台备用服务器,做活动打折扣的商家有很多可以购买做备用服务器。

然后安装宝塔的开心版,白嫖才是最快乐的,详细可看我写的三款宝塔开心版 白嫖宝塔企业版 已剥离通讯

在参考我之前写的一个 PHP 文件 + cloudflare 实现故障转移! 根据教程配置好一些信息,添加一个监控就能使用了,请部署在备用服务器上。

里面代码的下载链接也因为我换了程序失效了,我会在最下面贴上完整代码。
在宝塔插件里面可以安装 FTP 储存 + 文件同步,把这些对接到你的备用服务器上。

或者你是一个影视网站,没有用户数据只有影视数据,那么你肯定有发布页,可以在发布页添加一个部署在 Linodes 的域名,然后在源服务器上设置文件同步到 Linodes 服务器上。这个样子就达到分摊算力的玩法!

其实只要思想不滑坡,办法总比困难多,总有一个方法能让你合理应用!

故障转移代码:#

<?php
header('Content-type:application/json');

//创建API后得到的token,写在Bearer 后
$Authorization = 'Authorization: Bearer ';
//ping 检测的IP
$pingip='';
//区域ID
$id = '';
//需要修改的DNS记录ID,  $get_dnsid = true 获取记录列表,设置dnsid后将$get_dnsid设置成false
$dnsid = '';
//记录
$dnstype = 'A';
//名字
$dnsname = '';
//修改后的IP
$dnscontent = '';
//代理
(bool)$dnsproxied = false;
//ttl
$dnsttl = 1;


//获取DNS记录ID列表,改成true后访问PHP地址会显示JSON格式的DNS记录列表。
$get_dnsid = false;

if ($get_dnsid === true) {
    //获取DNS ID
    $api_dnsid = 'https://api.cloudflare.com/client/v4/zones/' . $id . '/dns_records';
    try {
        $json = curl_get($api_dnsid, [$Authorization]);
        $json = json_decode($json);
        echo json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT);
    } catch (Exception $aaa) {
        $json = [
            'state' => 1,
            'msg' => 'API获取DNSID 错误'
        ];
        echo json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT);
    }
    exit();
} else {
    if (pingDomain($pingip, 443) === -1) {
        changeDNS($dnstype, $dnsname, $dnscontent, $dnsproxied, $dnsttl, $id, $dnsid, $Authorization);
    }
}

//ping
function pingDomain($domain, $port)
{
    try {
        $starttime = microtime(true);
        $file      = fsockopen($domain, $port, $errno, $errstr, 10);
        $stoptime  = microtime(true);
        $status    = 0;

        if (!$file) $status = -1;  // Site is down
        else {
            fclose($file);
            $status = ($stoptime - $starttime) * 1000;
            $status = floor($status);
        }
        return $status;
    } catch (\Exception $a) {
        return false;
    }
}

//修改DNS
function changeDNS($dnstype, $dnsname, $dnscontent, $dnsproxied, $dnsttl, $id, $dnsid, $Authorization)
{

    if ($dnsid != '') {
        $api = 'https://api.cloudflare.com/client/v4/zones/' . $id . '/dns_records/' . $dnsid;

        $json = [
            'type' => $dnstype,
            'name' => $dnsname,
            'content' => $dnscontent,
            'proxied' => $dnsproxied,
            'ttl' => $dnsttl,
        ];
        $json = json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
        $temp = curl_patch($api, [$Authorization], $json);
        $temp = json_decode($temp);
        echo json_encode($temp, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT);
    } else {
        $json = [
            'state' => 1,
            'msg' => 'DNS ID 为空,需要先设置DNS ID'
        ];
        echo json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT);
    }
}


//--------------------------------------------------CURL
function curl_get($url, $header)
{

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    //curl_setopt($ch, CURLOPT_ENCODING,'gzip');

    $contents = curl_exec($ch);
    curl_close($ch);
    //$contents = mb_convert_encoding($contents, 'utf-8','GB2312');
    return $contents;
}
function curl_patch($url, $header, $data)
{

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    //curl_setopt($ch, CURLOPT_ENCODING,'gzip');

    $contents = curl_exec($ch);
    curl_close($ch);
    //$contents = mb_convert_encoding($contents, 'utf-8','GB2312');
    return $contents;
}
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。