接下來Bear將要把剩下的問題解決掉
包含背景處理與網頁控制(ruTorrent)
當然,網頁控制就得架一個網站,本文將以nginx(私心)為主作為介紹
(內文使用相當多終端機指令,記得用tab鍵補完)
但是Bear偏好手動執行XD
說是手動操作,也只是使用Linux背景會話功能(screen)
如果只是古老的screen就說不過去了
這次介紹由Canonical (Ubuntu母公司)的Dustin Kirklandn所開發的工具byobu
http://byobu.co/
其實這個工具也只是screen的延伸
但更加簡單與人性化
安裝也很簡單
sudo apt-get update
sudo apt-get install byobu
沒錯,這樣就裝好了,不用編譯
執行也很簡單,在終端機輸入
byobu
如果要離開會話,那就按F6
(再執行byobu則會回來原本會話)
新增新的會話,按F2
回到前一個會話,按F3
後一個會話,按F4
關閉會話,輸入exit
有趣的是,在任何一個SSH or TTY連線,只要執行byobu,都是同步顯示畫面
如何,夠簡單了吧,比起screen複雜的組合鍵,用起byobu單純多了
啊!抱歉離題太多,簡單的說,執行byobu後,再執行rtorrent,就可以按F6離開會話
如此一來,rtorrent就會背景工作了,想監控隨時使用byobu回來觀察
接下來,設定網頁控制
當然,網頁控制就是要架個簡易的web server
有一個專門用於控制rTorrent的開放網頁專案
ruTorrent
畢竟這不是什麼給他人使用的網站
只是個人使用的拿來控制rTorrent的工具;別太複雜,簡單就好
簡單的網站架設都用LAMP (Linux-Apache2-MySQL-PHP)
這邊不需要資料庫,拿掉MySQL
Apache2太肥、效能太差,改換成nginx(別問為什麼不選lighttpd)
不需要用到傳統的PHP,用PHP-fpm即可
OK,接下來就是安裝它們了
(用apt-get套件管理來安裝,別自虐用原始碼編譯QAQ)
sudo apt-get install nginx php5-fpm php5-cli
安裝完後先設定nginx吧
sudo vim /etc/nginx/nginx.conf
改好後存檔
再來建立網站(web server)所放置網頁資料的資料夾
sudo mkdir /var/www
建立一個新的網站(ruTorrent)以及設定該網站與nginx的symbolic link
sudo vim /etc/nginx/sites-available/rutorrent
輸入以下內容
#=============================================
server {
listen 80;
#預設的網站埠口,當然可以修改
root /var/www;
#網站的放置位置
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www;
}
#轉送錯誤頁面,可以不設
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
#與php-fpm溝通的設定,非常重要
location /RPC2 {
include scgi_params;
#scgi_pass 127.0.0.1:5000;
scgi_pass unix:///tmp/rpc.socket;
}
#設定xmlrpc,非常重要
location ~ /\.ht {
deny all;
}
}
#=============================================
將剛剛寫好的設定"捷徑"移到sites-enabled底下
cd /etc/nginx/sites-enabled
sudo ln -s ../sites-available/rutorrent
ln -s建立軟連接,就是windows概念中的"捷徑"
設定完重啟nginx服務吧
sudo /etc/init.d/nginx reload
sudo /etc/init.d/nginx restart
再來就是針對pi的性能設定php-fpm
sudo vim /etc/php5/fpm/pool.d/www.conf
;====================================
pm = ondemand
;這是php-fpm執行的設定,ondemand表示直到需要才執行;dynamic則是固定數量下動態分配
;針對進程的一些配置,不多解釋了,依序更改內容吧
pm.max_children = 2
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 2
pm.process_idle_timeout = 5s
;====================================
接下來寫一個php測試頁看看php-fpm跟nginx是否設定正常
sudo vim /var/www/info.php
====================================
<?php
phpinfo();
?>
====================================
把info.php的擁有者從root改為www-data
sudo chown www-data:www-data /var/www/info.php
在瀏覽器上輸入[RPI-IP]/info.php檢查是否正常運作
http:// [Your Server IP (Lan IP)] /info.php
正常如下圖
簡單的架起了一個私人用的網站了
下載ruTorrent這個網站工具了
cd ~
wget http://dl.bintray.com/novik65/generic/rutorrent-3.6.tar.gz
這邊不建議安裝外掛套件,畢竟pi的性能不足以應付這些額外功能
但如果真的需要可以試著裝一、兩個
wget http://dl.bintray.com/novik65/generic/plugins-3.6.tar.gz (非必要)
解壓縮,並移至/var/www底下,順便修改rutorrent的擁有者
tar -zxvf ./rutorrent-3.6.tar.gz
sudo mv ./rutorrent /var/www/
sudo chown -R www-data:www-data /var/www/rutorrent
至於外掛部分也是一樣的做法,放置的位置:
/var/www/rutorrent/plugins/
一樣記得修改擁有者,這邊Bear就不多談了
編輯rutorrent裡面的設定檔,告訴ruTorrent有個程式可以讓它控制
(當然是經過xmlrpc)
sudo vim /var/www/rutorrent/conf/config.php
內容修改為
//$scgi_port = 5000;
//$scgi_host = "127.0.0.1";
//註解掉上面兩個,增加下面兩個
$scgi_port = 0;
$scgi_host = "unix:///tmp/rpc.socket";
配置完rutorrent後,修改.rtorrent.rc檔
告訴rtorrent有個網頁工具可以控制它
vim ~/.rtorrent
在最後面補上
execute_nothrow=rm,/tmp/rpc.socket
scgi_local = /tmp/rpc.socket
schedule = chmod,0,0,"execute=chmod,777,/tmp/rpc.socket"
完成了,接下來啟動rtorrent用網頁觀察看看吧
http:// [Your Server IP (Lan IP)] /rutorrent
Web-server user can't access 'stat' program. Some functionality will be unavailable.
這是nginx跟php-fpm之間的變數定義出了問題
下面網址裡的文章寫得很清楚,可以了解前因後果
http://blog.ihipop.info/2011/03/2204.html
簡言之,修改php-fpm的設定檔吧
sudo vim /etc/php5/fpm/pool.d/www.conf
新增
env[PATH] = $PATH
重啟php5-fpm即可
再查看一次網頁,應該就沒問題了 sudo /etc/init.d/php5-fpm reload
同場加映,設定網頁密碼保護
如果有設定DDNS對外,就可以在外面隨時連回來觀察
但是,網站是公開的,任何人都可以進來控制
這不就不安全了嗎?
沒錯,那Bear就教一套簡易版的
(當然只是防防君子)
產生一加密的驗證檔
其中大寫部份請更改成自己的(USER PASSWORD)
printf "USER:$(openssl passwd -crypt PASSWORD)\n" >> .htpasswd
將產生的加密檔案.htpasswd移至/var/www/rutorrent/底下
sudo mv ~/.htpasswd /var/www/rutorrent/
告訴nginx增加了一個驗證用的加密檔
sudo vim /etc/nginx/sites-available/rutorrent
增加紅字內容
#=============================================
...
location /RPC2 {
include scgi_params;
#scgi_pass 127.0.0.1:5000;
scgi_pass unix:///tmp/rpc.socket;
}
#設定xmlrpc,非常重要
location /rutorrent {
auth_basic "ruTorrent login";
auth_basic_user_file /var/www/rutorrent/.htpasswd;
}
location ~ /\.ht {
deny all;
}
}
...
#=============================================
重啟nginx
sudo /etc/init.d/nginx reload
sudo /etc/init.d/nginx restart
經Bear測試一段時間,下載還滿穩定的
(沒有壓力測試XD,不過最多也試過同時下載六個種子)
可惜的是RPI的CPU不夠力
下載極速大概在3.5MB/s左右,雖然不是很多,但也很夠力了
點選前往RPI : BT下載教學<上篇>
參考資料:(1)、(2)、(3)
喜歡這篇文章嗎? 趕快加入Takobear粉絲團吧!