Arch Linuxにrtorrent + rutorrent + nginx + php-fpmをインストールして設定します

背景



トレントを扱うために、私は長い間ktorrentを使用していました。 このクライアントは、人気の急流でプロセッサの負荷が50%( uTPではさらに高い )に達し、すでに大胆なKDEのメモリ消費量が目を引くのが不快になるまで、便利なダウンロード管理のニーズを完全に満たしました。



KDEをxfce( これは別の話です )に変更し、優れた機能と便利な管理を備えたトレント用のプログラムを選択することが決定されました。 送信、大洪水、急流を試した後、私は後者に落ち着きました。



rtorrent + rutorrent + nginx + php-fpmの設定方法については、catの下にあります。



なぜそう



示されたツールが選択される理由をすぐに答えたいと思います。



Arch Linux 。 あなたはこのディストリビューションについて長い間話すことができます。私は一般的にその組織と哲学が好きで、最大限の効率でそれを自分で使うことができます。 彼についてもっと読むのが面白い人は、 こちらこちらをご覧ください



nginx この小さなものがどのように機能し、メモリを節約し、柔軟に調整し、必要なすべての機能を提供することに感心しました。



php-fpm ワーカースレッドの数を設定でき、nginxと組み合わせて優れたパフォーマンスが得られます。



rtorrent 。 低リソース消費、高度にカスタマイズ可能。



急流 積極的に開発された、素晴らしいインターフェースを備えています。



前提ソフトウェアのインストール





Arch Linuxが既にコンピューター上にあり、ユーザーがそのパッケージシステムに精通していると仮定します。



バンドルWebパーツをインストールするには、次のコマンドを実行します。



sudo pacman -S nginx php-fpm







AURからrtorrentとlibrtorrentをインストールすることをお勧めします。rtorrent-colorと呼ばれるすばらしいPKGBUILDがあり、退屈なコンソールインターフェースをより楽しく( 使用する場合 )、libtorrent-extendedに追加のパッチがあります。 したがって、次のコマンドを実行します。



yaourt rtorrent-color







そして



yaourt libtorrent-extended







rutorrentを取得するには、次のコマンドを使用してsvnから複製する必要があります。



svn checkout rutorrent.googlecode.com/svn/trunk rutorrent-read-only









ファイルはrutorrent-read-onlyディレクトリに表示され、そこから取得します。



カスタマイズ





/etc/php/php-fpm.confファイルで、次のパラメーターを設定する必要があります。







ファイル/etc/nginx/conf/nginx.confは、次の形式に縮小されます。



 worker_processes 2; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; use epoll; } http { include /etc/nginx/conf/mime.types; default_type application/octet-stream; upstream backend { server 127.0.0.1:9000; } upstream backendrtorrent { server unix:/home/pf/.rtorrent.sock; } sendfile on; keepalive_timeout 65; include /etc/nginx/conf/sites-enabled/*; include /etc/nginx/conf/conf.d/*; }
      
      







バックエンドのサブセクションはphp- fpmを指し、backendrtorrentはrtorrentソケットファイルを指していることに注意してください(詳細は後ほど説明します)。



ディレクトリ/ etc / nginx / conf / sites-enabledおよび/ etc / nginx / conf / sites-availableを作成します 。 2番目では、次の内容でrutorrent.eternity構成ファイル作成し、最初のディレクトリでシンボリックリンクを作成します。



 server { listen 80; server_name localhost; access_log /srv/http/nginx/rutorrent.eternity/logs/access.log; error_log /srv/http/nginx/rutorrent.eternity/logs/errors.log; location / { root /srv/http/nginx/rutorrent.eternity/htdocs; index index.php index.html index.htm; } location /RPC2 { include /etc/nginx/conf/scgi_params; scgi_pass backendrtorrent; } location ~ /\.ht { deny all; } location ~* \.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { root /srv/http/nginx/rutorrent.eternity/htdocs; access_log off; expires 30d; } location ~ .php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass backend; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /srv/http/nginx/rutorrent.eternity/htdocs$fastcgi_script_name; include fastcgi_params; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } }
      
      







エラーおよびアクセスログ/srv/http/nginx/rutorrent.eternity/logs )の場所、およびWebドキュメントのルートディレクトリ( /srv/http/nginx/rutorrent.eternity/htdocs )に注意してください 。 これらのディレクトリが存在する必要があります。 また、 位置/ RPC2ブロックに注意してください、それは急流に必要です。 ここでは、残りのパラメーターの説明は提供しませんが、インターネット上の詳細な文書で十分です。



/ etc / hostsファイルに次の行を追加します



127.0.0.1 localhost.localdomain localhost eternity rutorrent.eternity







永遠は私のシステムの名前であり、あなたにとっては異なるかもしれません。 この場合、構成ファイルのどこでも変更する必要があります。



nginxとphp-fpmを実行できます:



sudo /etc/rc.d/nginx start

sudo /etc/rc.d/php-fpm start








これで、いくつかの単純なphpファイルをWebドキュメントのルートディレクトリに投げることで、バンドルWebパーツをテストできます。 Webブラウザーでrutorrent.eternity移動すると、正しく表示されるはずです。



次に、tortorrentをインストールする必要があります。 そのコンテンツを前述のrutorrent-read-only / rtorrentディレクトリからWebドキュメントのルートディレクトリに転送します( これは/srv/http/nginx/rutorrent.eternity/htdocsディレクトリです )。 rutorrent-read-only / pluginsディレクトリでも同じことを行い、それをrutorrentファイルツリーの既存のpluginsディレクトリにコピーします。 .svn形式のゴミ箱は削除できます。



ファイル/srv/http/nginx/rutorrent.eternity/htdocs/conf/config.phpを開き、次の2行のみを置き換えます。



$scgi_port = 0;

$scgi_host = "unix:///home/pf/.rtorrent.sock";








ソケットファイルは上記と一致する必要があります。



Webインターフェイスの準備ができました。rtorrent自体を設定する必要があります。



次の内容を含む.rtorrent.rcファイルをホームディレクトリに作成します。



scgi_local = /home/pf/.rtorrent.sock

max_memory_usage = 268435456

system.file_allocate.set = yes

done_fg_color = 2

done_bg_color = 0

active_fg_color = 4

active_bg_color = 0

download_rate = 250

upload_rate = 250

directory = /home/pf/work/downloads/torrents

session = /home/pf/work/downloads/torrents/.session

port_range = 29292-29292

check_hash = no

use_udp_trackers = yes

encryption = allow_incoming,try_outgoing,enable_retry,prefer_plaintext

dht = auto

dht_port = 6881

peer_exchange = yes









libtorrentが--with-posix-fallocateオプションを指定してコンパイルされている場合、 system.file_allocate.set = yesの行は意味があります。これは、現代のファイルシステムではトレントに必要なスペースを即座に割り当てることができます。 * g_colorなどのオプションは、rtorrent-colorにのみ適用されます。 必要に応じて、ディレクトリ、ポート、速度を構成します。



最後の仕上げは、rtorrentを実行するスクリプトです。 /etc/rc.d/rtorrentdファイルに次の内容を配置します。



 #!/usr/bin/env bash . /etc/rc.conf . /etc/rc.d/functions rtorrent_user="pf" rtorrent_socket="/home/pf/.rtorrent.sock" case "$1" in start) stat_busy "Starting rtorrent" if [ -S $rtorrent_socket ]; then rm $rtorrent_socket fi su $rtorrent_user -c 'LANG=uk_UA.UTF-8 screen -d -m -S rtorrent rtorrent' &> /dev/null if [ $? -gt 0 ]; then stat_fail else while [ ! -S $rtorrent_socket ] do printf "%10s \r" waiting done chmod 666 $rtorrent_socket add_daemon rtorrent stat_done fi ;; stop) stat_busy "Stopping rtorrent" killall -w -s 2 /usr/bin/rtorrent &> /dev/null if [ -S $rtorrent_socket ]; then rm $rtorrent_socket fi if [ $? -gt 0 ]; then stat_fail else rm_daemon rtorrent stat_done fi ;; restart) $0 stop sleep 1 $0 start ;; *) echo "usage: $0 {start|stop|restart}" esac exit 0
      
      







当然、画面をインストールする必要があります。 環境に合わせrtorrent_userおよびrtorrent_socket変数を調整します。 rtorrentの自動ロードが必要な場合は、 DAEMONSアレイの/etc/rc.confファイルに入れてください



それだけです コマンドでrtorrentを実行します



sudo /etc/rc.d/rtorrentd start







ブラウザでrutorrent.eternity Webサイトにアクセスしてお楽しみください。



All Articles