私も最近 Linodes の 100 ドルを無料で使えることに気づきました。現在も 1 週間使用しているので、記事を書いて記録しておきます。皆さんも参考にしてみてください!
注:この記事には広告は一切ありません。このサイトでも広告は出しません!7 日間正常に使用した際のスクリーンショットを添付します。
私が開設したこのサーバーは、AMD EPYC 7642 を独占する 6 コア 16G の日本のデータセンターで、現在いくつかのスクリプトを実行して処理しています。
現在 7 日間安定していますが、どれくらい安定するか、100 ドルを使い切れるかはわかりません。もしダウンしたら、この段落の下で具体的な状況を更新します!
まず最初にアカウントを購入し、直接アカウントとパスワードでログインしました。当初は API を使って無料のマシンを提供するサイトを作る予定でしたが、72 時間後に自動的に削除される予定でした。おそらく手動でログインしたためにアカウントが凍結されたのですが、ログイン時に「アカウントまたはパスワードが正しくありません」と表示され、商人がパスワードを変更したのではないかと感じました。
そこで別の業者から購入しました。基本的に価格は 45-55RMB のようです。そして、Amazon や Linodes、Vultr などの無料で使えるサービスプロバイダーは、API を通じてマシンを起動できることに気づきました。現在、マシンを起動するための専用サイトも出ています。
五合一パネルの管理:https://cloud.bobu.me/ (広告ではありません。これは私が 2 番目の業者で購入したアカウントの商品説明で見たもので、API を使うと安定するとのことです。)
2 番目の業者から Linodes を購入する前に、Amazon の 32v の無料アカウントを購入しました。初めて使用したので、よくわからず手動でログインしましたが、翌日アカウントが凍結されました。
まとめ:#
現在、約 50 元で購入した Linodes アカウントは約 1 週間安定しています。少なくとも 50 元は取り戻しました。この API パネルを開通するには料金が必要です。
もし有料の API パネルを使いたくない場合は、chatgpt に直接「Linodes の API 開通インスタンスの PHP ファイルを作成してほしい」と伝えれば大丈夫です。
手動でアカウントにログインすることは避けるべきですが、信頼できるアカウント販売者も必要です。私が最初に購入したものは、商人がアカウントのパスワードを変更したのではないかと感じています。
また、Linodes の 100 ドルのクレジットには期限があります。たしか 3 ヶ月か 2 ヶ月のようです。遠慮せずに高性能マシンを起動してください。
この場合の使用シーンは、重要でないスクリプトを実行することが基本で、富強やウェブサイト構築には適していません。いつダウンするかわからないからです。
テスト用に使うのには良いと思います。現在もいくつかのものを実行しており、CPU 使用率は約 60% です。
遊び方#
もし以前に API を通じてマシンを起動している場合、Linodes アカウントは比較的安定しています。または、サーバーの異常によるトラフィックの減少や SEO ランキングの問題を気にせずに遊ぶエネルギーがある場合、あるいは固定データの CMS プログラムのシーンで、少しお金を使ってサーバーの計算能力を分散させたい場合は、以下の方法を試してみてください。
まず、予備のサーバーを持っておくことです。割引を行っている業者がたくさんあるので、予備のサーバーを購入できます。
次に、宝塔のハッピー版をインストールします。無料で使うのが一番楽しいです。詳細は私が書いた三款宝塔开心版 白嫖宝塔企业版 已剥离通讯を参照してください。
私が以前書いた一个 PHP 文件 + cloudflare 实现故障转移!を参考にして、いくつかの情報を設定し、監視を追加すれば使用できます。予備のサーバーにデプロイしてください。
中のコードのダウンロードリンクは、プログラムを変更したため無効になっています。最下部に完全なコードを貼り付けます。
宝塔のプラグインの中で FTP ストレージ + ファイル同期をインストールし、これらを予備のサーバーに接続します。
また、あなたが映画サイトで、ユーザーデータがなく映画データだけを持っている場合、公開ページがあるはずです。公開ページに Linodes にデプロイされたドメインを追加し、ソースサーバーで Linodes サーバーにファイルを同期するように設定できます。これにより、計算能力を分散させることができます!
実際、考え方が崩れなければ、方法は常に困難よりも多いです。合理的に利用できる方法は必ずあります!
障害転送コード:#
<?php
header('Content-type:application/json');
//作成したAPI後に得られたトークンを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; // サイトがダウンしています
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;
}