Выпекаем сайты, находим покупателей

Заметка: Transmission-Daemon Web через Nginx

Как показывать веб-морду transmission через nginx и им же грузить статику? Смотрим выдержки из конфигов. Кроме transmission, у меня также работают несколько виртуальных хостов на nginx и apache (его трогать не будем). После проделанных настроек - вебморда стала грузиться в разы быстрее.
Для справки: nginx version: nginx/1.2.4 и Transmission 2.80 (14103)

transmission logotype

Выдержка директивы server из конфига nginx.conf:
server {
listen 8.8.8.8:80 accept_filter=httpready;
server_name example.ru default;
location /transmission/ { #На хосте example.ru - проксируем путь /transmission/ до вебморды
 if ($host = 'example.ru'){
   proxy_pass http://127.0.0.1:9091; 
} }
location / {
 proxy_pass http://127.0.0.1:82; #для виртуальных хостов апача
 proxy_redirect off;
 proxy_set_header Host $host; #виртуальный хост, в нашем случае (example.ru)
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarder-For $proxy_add_x_forwarded_for;
 proxy_connect_timeout 100;
 proxy_send_timeout 100;
 proxy_read_timeout 100;
           }
location ~* \.(jpg|jpeg|gif|png|txt|rar|zip|torrent|swf|ico|exe|css|js)$ { #Так статика отдаётся с хостов через nginx
 root /usr/local/www/$name/docs; # $name - это имя папки виртуального хоста, в нашем случае (example.ru)
 expires 5d;
 add_header Cache-Control private;
 add_header Vary Accept-Encoding;
 proxy_cache_valid 200 301 302 304 5m;
 proxy_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";
 proxy_hide_header "Set-Cookie";
           }
location ~ /\.ht { deny all; }
}


Настройки RPC в settings.json у Transmission:
"rpc-authentication-required": true, 
"rpc-bind-address": "127.0.0.1", 
"rpc-enabled": true, 
"rpc-password": "your-password", 
"rpc-port": 9091, 
"rpc-url": "/transmission/", 
"rpc-username": "login",


Статика для transmission будет грузиться из http://example.ru/transmission/web/, поэтому копируем её в папку хоста.
cp -R /usr/local/share/transmission/web/ /usr/local/www/example.ru/docs/transmission/web


Happy End: Перезагружаем nginx, включаем transmission (перед редактированием конфига settings.json, нужно его отключать). Заходим на http://example.ru/transmission/web/ и видим веб-морду :)

Комментарии и отзывы к материалу

Открыта вакансия на первого комментатора!

Отправить комментарий

Как зовут?

Сообщение