二维码
搬瓦工 locvps

因为PT站优先qbittorrent,所以弃用Aria2,而在Debian 11上安装qbittorrent,并配置Nginx反代。注意:qbittorrent是自带GUI的,适用于桌面环境;而qbittorrent-nox才是服务器用的,并没有提供桌面GUI,但是提供了网络访问的Web-GUI界面。

安装qbittorrent-nox

没什么好说的,直接执行以下命令就好了,debian 11仓库的qbittorrent-nox是5.25版本,并不算老,各大站点的兼容性也不错。

apt update 
apt install qbittorrent-nox -y

配置qbittorrent-nox进程守护

不粗暴的使用root执行,而是用户态执行,这样可以防止万一Web-GUI被爆破了,服务器全被黑了。
1. 添加专属的qbittorrent-nox用户组

adduser --system --group qbittorrent-nox

2. 将当前用户添加进qbittorrent-nox用户组中,注意: "your-username"是你当前用户的名字,比如root账户就是root,Ubuntu账户就是ubuntu,可以通过命令whoami获取。

adduser your-username qbittorrent-nox

3. 新建systemd文件,如下所示:

touch /etc/systemd/system/qbittorrent-nox.service

使用你顺手的编辑器,比如vim/Nano之类的,将以下内容填入刚才新建的文件中

[Unit]    
DescriptiON=qBittorrent Command Line Client    
After=network.target    
[Service]    
Type=forking    
User=qbittorrent-nox    
Group=qbittorrent-nox    
UMask=007    
ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8080    
Restart=on-failure    
[Install]    
WantedBy=multi-user.target

4. 启用进程守护,直接执行以下命令就行了,最后一条命令执行完,出现active关键字就说明一切都如预期的那样跑起来了。

systemctl daemon-reload    
systemctl start qbittorrent-nox    
systemctl enable qbittorrent-nox    
systemctl status qbittorrent-nox

至此,在浏览器中输入服务器的IP和qbittorrent-nox的端口就可以进入了,例如http://1.1.1.1:8080,这里的1.1.1.1是服务器的IP,8080是刚才进程守护文件中写入的端口。用户名是admin,用户密码:adminadmin。
强烈建议进去之后,立马修改用户名和用户密码!!!具体位置在tool>options>webui这里,还可以修改成中文。

Nginx反代qbittorrent-nox的Web-GUI

1. 修改监听地址
http+非标端口,总让人强迫症犯了,所以搞了个SSL和Nginx反代,让qbittorrent-nox的Web-GUI看起来舒服一些。
首先,在tool>options>webui中,将监听的IP地址从*改成127.0.0.1,然后执行重启命令systemctl restart qbittorrent-nox以生效。这样只有服务器本地才能访问,其他都不行。

2. 安装Nginx并配置反代,安装命令如下:

apt install nginx

修改配置文件/etc/nginx/sites-available/,将server_name _;中的_改成域名,在location /中注释掉try_files $uri $uri/ =404;,并将以下内容写入:

proxy_pass http://127.0.0.1:8080/;    
proxy_http_version 1.1;    
proxy_set_header X-Forwarded-Host $http_host;    
proxy_set_header X-Real-IP $remote_addr;    
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
proxy_set_header X-Forwarded-Proto $scheme;    
http2_push_preload on;

到此处,执行nginx -t检查配置文件是否支持,如果都是ok,那就可以重启nginx,命令为systemctl reload nginx
实际上,我还添加了SSL(需要先注释掉server中的listen 80 default_server;listen [::]:80 default_server;两行
)。整体示例如下,就不细说了,可以对照着自己配置文件修改。如果不熟悉的,强烈建议使用Let's Encrypt等一键SSL/TLS程序添加SSL功能。

server {    
#listen 80 default_server;    
#listen [::]:80 default_server;    
root /var/www/html;    
# Add index.php to the list if you are using PHP    
index index.html index.htm index.nginx-debian.html;    
server_name qbt.example.com; # 此处的示例域名为qbt.example.com    
location / {    
#try_files $uri $uri/ =404;    
proxy_pass http://127.0.0.1:8080/;    
proxy_http_version 1.1;    
proxy_set_header X-Forwarded-Host $http_host;    
proxy_set_header X-Real-IP $remote_addr;    
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
proxy_set_header X-Forwarded-Proto $scheme;    
http2_push_preload on;    
}    
listen 443 ssl;    
ssl_certificate /path/qbt.example.com_bundle.crt; # SSL/TLS的证书,注意路径    
ssl_certificate_key /path/qbt.example.com.key; #SSL/TLS的密钥,注意路径    
ssl_session_timeout 5m;    
ssl_protocols TLSv1.2 TLSv1.3;    
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;    
ssl_prefer_server_ciphers on;    
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; #开启了HSTS    
access_log /var/log/nginx/access.qbt.example.com.log; #记录访问日志    
error_log /var/log/nginx/error.qbt.example.com.log; #记录错误日志    
}    
server { #此功能为强制所有http跳转到https    
listen 80 default_server;    
server_name qbt.example.com;    
return 301 https://$host$request_uri;    
}
locvps
评论专区
  • 昵 称必填
  • 邮 箱必填
  • 网 址选填
◎已有 0 人评论
BudgetVM
作者介绍
转载大师

转载大师

转载大师作为本站编辑,主要负责把优秀的文章转载至此。如果您认为本文侵犯了您的版权信息,请与转载大师联系修正。
80vps henghost
30天热门
budgetvm sugarhosts
二维码

分享:

支付宝

微信