モチベーション 学習の必要性から、海外のサーバーメーカー(どこのメーカーかは言いません)のVPSサービスを購入しました。ただし、ラダーとして使用しても、1 か月あたり 1T のトラフィックが使い果たされることはありません。ようやく栄養が十分摂れた気がして、観る映画を探したいです。 ねえ、VPS を使用して独自のオフライン ダウンロード サーバーを構築できますか?この方法では、余剰の帯域幅リソースを活用してダウンロード速度を上げることができます。これは素晴らしいことではないでしょうか。この疑問を念頭に置き、私は孤独な夜にそれを作り始めました。 建設プロセス マシン構成の配布: CentOS 6.9 このマシンの構成はそれほど高くはありませんが、ダウンロードサーバーとして使用するには十分すぎるほどです。 ツールの選択 いくつか調べた結果、デプロイメント ツールとして transmission + vsftpd + nginx + aria2c を選択しました。
導入の実践 1. トランスミッションをインストールし、構成を変更してサービスを開始する トランスミッションとトランスミッションデーモンをインストールする
設定を変更して、トランスミッションサービスを開始します。/var/lib/transmission/.config/transmission パスの下にある settings.json ファイルは、トランスミッションの設定ファイルです。この中には多くの設定があります。リモートソフトウェアを使用してトランスミッションを制御できるようにするには、次の設定を変更する必要があります。
送信サービスを開始する
したがって、http://host_ip:9091 から転送サービスにアクセスできます。テスト後、速度は依然として良好で、ピーク速度は 30MB/s です。 さらに、ページにアクセスせずに送信を制御するために、Transmission-Remote-GUIをインストールすることもできます。Linux(Mint)のアプリストアからダウンロードできます。操作方法はuTorrentのUIインターフェースに似ています。 2. vsftpdはFTPサーバーを構築する FTP サーバーの構築は、ファイルをダウンロードするために使用されません。FTP によるファイルのダウンロード速度は非常に遅いです。したがって、FTP サーバーの役割はファイルの管理であり、一般的に言えば、削除操作です。 vsftpdをインストールする
仮想ユーザーではなくLinuxユーザーでログインします(データベースのインストールが面倒なので) ユーザーの追加
ftpuserのホームディレクトリを送信のダウンロードディレクトリに変更します
vsftpd設定ファイル(/etc/vsftpd/vsftpd.conf)を変更します。
chroot_list_enable=NO の構成は、ユーザーがホーム ディレクトリから切り替えることができないことを示します。 vsftpdを起動する
このように、ftp を使用して、転送によってダウンロードされたファイルを管理できます。 3. nginxで静的ファイルサーバーを構築する ダウンロードしたリソースを表示するために、静的リソース サーバーとして nginx を使用します。インターネットには nginx のインストールに関するチュートリアルが多数あります。フォローアップとして記入してください。 主に構成について話す nginx 設定ファイル (/etc/nginx/conf.d/default.conf) を変更します。 自動インデックスオン; autoindex_exact_size をオン; autoindex_localtime をオン; サーバー{ 聞く 8090; 聞く [::]:8090; server_name ローカルホスト; 文字セット utf-8; 位置 / { ルート /var/lib/transmission/Downloads; インデックス index.html index.htm; } nginx サービスを開始すると、ポート 8090 経由でファイル リストを取得できます。 4. aria2c ファイルをダウンロード aria2c は、サーバーからファイルをダウンロードし、自分のマシンにインストールするために使用されます。 主にaria2cマルチスレッドによるダウンロードの高速化について説明します aria2cにはマルチスレッドダウンロードに関連するパラメータがいくつかあります。
したがって、大きなファイルの場合、 x および s パラメータを適切に増やすと、ダウンロード速度が向上します。 参考リンク: CentOS 6 に Transmission BitTorrent クライアントをインストールする方法 以下もご興味があるかもしれません:
|
<<: MySQL 百万レベルのデータページングクエリ最適化ソリューション
>>: JavaScript デザインパターン 責任連鎖パターン
この記事では、参考までに、虫眼鏡のJavaScriptオブジェクト指向実装の具体的なコードを紹介しま...
目次ミニプログラム開発者ツールのソースコードを表示する方法ミニプログラムアーキテクチャ設計1. ミニ...
この記事では、ツリーテーブルを実装するためのVueの具体的なコードを例として紹介します。具体的な内容...
初心者は、いくつかの HTML タグを理解することで HTML を学習できます。この入門書は、初心者...
最近、ポーターを学んでいます。こんなに強力なものがあったなんて、今まで知らなかった気がします。クラス...
数日前、CSS で 3 列レイアウトを書いていたときに、突然この方法を思いつきました。このアイデアは...
序文コンピュータの数値は浮動小数点であるため、計算プロセス中に取得されるデータは通常正確ではなく、そ...
問題の説明MySQL 起動エラー メッセージは次のとおりです。 mysqld を起動します (sys...
Jellyka Beesアンティーク手書き [ank]* ジェリーカ・カティカップケーキ LHF ジ...
以前、あるプロジェクトでMysql FIND_IN_SET関数を使用したことがありますが、非常に便利...
この記事では、アコーディオン効果を実現するためのjsの具体的なコードを参考までに共有します。具体的な...
1. ビジネスシナリオの紹介MySQLを使用する電子商取引システムがあるとします。大量のデータを保存...
1. Reactでクラス宣言する際のヒント 上記のように、Child クラスは class キーワー...
MySQL テーブルのテーブル構造をすばやく変更する - 「MySQL 管理」から抜粋 ALTER ...
複数行を超えるテキストをインターセプトするための HTML コードは次のとおりです。 HTML:コー...