
在 Ubuntu 22 上部署 RSS-Translator 服务
RSS-Translator 是一个实用的工具,可以订阅 RSS 源并将其内容翻译成指定语言后,生成新的 RSS 源供阅读。本文将介绍如何使用官方提供的安装脚本,在 Ubuntu 22.04 LTS 服务器上快速部署 RSS-Translator。
使用官方脚本部署
官方提供了一个便捷的安装与更新脚本,可以自动化处理大部分部署工作,包括依赖检查和环境配置(通常基于 Docker 和 Docker Compose)。
1. 创建目录并下载脚本
首先,通过 SSH 登录到你的 Ubuntu 服务器,然后创建一个用于存放 RSS-Translator 相关文件的目录,并进入该目录:
1 | mkdir -p ~/rss-translator |
2. 赋予脚本执行权限并执行
下载完成后,需要给脚本添加执行权限:
1 | sudo chmod +x install_update.sh |
然后,执行该脚本来开始安装或更新 RSS-Translator:
1 | sudo ./install_update.sh |
该脚本会自动检查并可能提示安装 Docker 和 Docker Compose(如果系统尚未安装),然后会拉取项目代码/镜像,配置并启动服务。请根据脚本执行过程中的提示进行操作。
3. 访问服务与后续配置
基础搭建完成后,RSS-Translator 服务默认会监听在服务器的 8000
端口。你可以通过以下方式访问:
- 直接 IP 访问: 在浏览器中输入
http://<你的服务器IP>:8000
。 - 配置反向代理 (推荐): 为了方便使用和管理(例如绑定域名、启用 HTTPS),通常建议使用 Nginx、Caddy 或其他反向代理工具将域名(如
rss-translator.yourdomain.com
)代理到http://localhost:8000
或http://127.0.0.1:8000
。
部署成功后的界面类似下图:
- 开启 SSL: 如果你需要为服务启用 HTTPS,可以参考 官方教程中的 SSL 部分 进行配置,这通常涉及到修改 Docker Compose 文件和获取证书。
解决常见问题:Nginx 反代下的 CSRF 错误
如果你配置了 Nginx 作为反向代理,可能会在尝试登录或执行某些操作时遇到 CSRF verification failed. Request aborted.
的错误。
原因: 这通常是因为 Nginx 在转发请求时,没有正确传递原始的 Host
头或 X-Forwarded-Proto
(HTTPS) 等信息,导致 Django 后端无法验证请求来源的安全性(CSRF 令牌验证失败)。
解决方案: 最直接的方法是告诉 Django 哪些域名是受信任的来源。对于通过安装脚本部署(很可能使用 Docker Compose)的情况,可以在 docker-compose.yml
文件中为 RSS-Translator 服务设置 CSRF_TRUSTED_ORIGINS
环境变量。
找到由安装脚本创建或管理的
docker-compose.yml
文件(通常位于你创建的~/rss-translator
或其子目录下)。编辑该文件,在
services
->rss-translator
(或者类似的服务名) 下找到或添加environment
部分,并加入CSRF_TRUSTED_ORIGINS
变量:1
2
3
4
5
6
7
8
9
10
11# docker-compose.yml (示例片段)
services:
rss-translator: # 服务名可能不同,请根据实际文件调整
# ... 其他服务配置,如 image, ports, volumes ...
environment:
# ... 可能存在的其他环境变量 ...
CSRF_TRUSTED_ORIGINS: "[https://your.domain.com](https://your.domain.com),[http://your.domain.com](http://your.domain.com)"
# ^-- 将 your.domain.com 替换为你的实际访问域名
# ^-- 如果你只用 https, 可以只写 [https://your.domain.com](https://your.domain.com)
# ^-- 如果有多个域名,用逗号 `,` 分隔
# ... 其他服务 ...保存
docker-compose.yml
文件。重启服务 使配置生效。你可以在
docker-compose.yml
文件所在的目录下执行以下命令:1
2
3
4
5
6
7# 推荐使用 docker compose (V2 插件)
docker compose down
docker compose up -d
# 如果你使用的是独立的 docker-compose (V1 或独立 V2)
# docker-compose down
# docker-compose up -d或者,再次运行
sudo ./install_update.sh
脚本通常也能应用更新后的配置。
修改后,再次访问你的域名,CSRF 错误应该就解决了。
总结
通过官方提供的安装脚本,在 Ubuntu 22 上部署 RSS-Translator 变得相对简单。配置反向代理并解决可能出现的 CSRF 问题后,你就可以顺畅地使用这个强大的 RSS 翻译订阅工具了。
- Title: 在 Ubuntu 22 上部署 RSS-Translator 服务
- Author: 凡
- Created at : 2024-01-26 00:26:34
- Updated at : 2025-04-29 19:22:32
- Link: https://xblog.aptzone.cc/2024/01/26/在Ubuntu-22上部署RSS-Translator/
- License: All Rights Reserved © 凡