モチベーション 学習の必要性から、海外のサーバーメーカー(どこのメーカーかは言いません)の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 デザインパターン 責任連鎖パターン
最近のウェブサイトのほとんどはページが長く、4 画面または 5 画面の長さのものもあれば、2 画面ま...
1. 環境VS 2019 16.9.0 プレビュー 1.0 .NET SDK 5.0.100 2. ...
目次序文コードの実装アイデア 1アイデア2要約する参照ドキュメント序文プロジェクト内の小さな要件ポイ...
オンライン MySQL トランザクションの問題の記録先週の金曜日、大きなテーブルを削除する操作を実行...
この記事では、フォーム検証を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は...
目次序文1. 文字列を分割する2. JSONのフォーマットと解析3. 複数行の文字列と埋め込み式4....
この記事では、シンプルなカレンダー効果を実現するためのJSの具体的なコードを参考までに紹介します。具...
かなり前に仮想マシンをインストールしましたが、ようやく Linux をインストールしました。マシンの...
一般的に、MySQL はデフォルトでさまざまなストレージ エンジンを提供しており、次のように表示され...
ターミナル分割画面ツールは2つあります: screen と tmux 1. 画面分割を使用する(上下...
docker-compose で mongodb と mysql を構築する詳細な方法を見てみましょ...
最初は悲しい気持ちになりました。スクリーンショットは以下の通りです。 少し苦労しましたが、解決策は次...
インデックスのマージは、MySQL が最下層で提供するインテリジェントなアルゴリズムです。インデック...
目次1. 基本概念の紹介2. ネットワークIOの読み取りと書き込みのプロセス3. 5つのLinuxネ...
1. 親コンテナーをテーブルに設定し、子をインライン要素に設定します。テキストを表示するサブコンテン...