Debian/Ubuntu安装部署RSSHub实例 non-docker 方式
·
因为使用的1G内存的机器,docker-compose部署RSSHub后,内存使用率直接飙升到80%,无奈改用non-docker方式,内存使用率下降了20%。资源紧张的朋友,建议使用non-docker方式部署。
1.准备环境
安装依赖
RSSHub 需要 Node.js,并使用pnpm进行包管理和构建。因为只需要一个Node.js版本,所以使用 NodeSource安装。
# 更新您的包索引
sudo apt update
# 安装 Node.js (仅需要node22使用nodesource安装)
sudo curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt install -y nodejs
node -v
# 安装/验证 pnpm
sudo npm install -g pnpm
pnpm -v
安装 Git 和其他工具
sudo apt install -y git vim
2.安装配置 Redis
安装 Redis
sudo apt install -y redis-server
配置 Redis
sudo vi /etc/redis/redis.conf
添加如下用户名密码配置:
yourusername on >yourpassword ~* +@all
启动并检查 Redis
sudo systemctl restart redis-server
sudo systemctl enable redis-server
sudo systemctl status redis-server
确保输出中显示 active (running)。
3.下载并配置 RSSHub
克隆 RSSHub 仓库
cd /usr/share
sudo git clone https://github.com/DIYgod/RSSHub.git
sudo chown -R ubuntu /usr/share/RSSHub/
cd RSSHub
安装依赖
pnpm i
构建 RSSHub
如有需要,可以配置pnpm镜像源服务器,加速构建过程,如设置一下淘宝镜像源:
pnpm config set registry https://registry.npmmirror.com
pnpm build
配置环境变量
sudo touch .env
编辑 .env 文件,sudo vi /usr/share/RSSHub/.env,至少设置:
NODE_ENV=production
CACHE_TYPE=redis
REDIS_URL=redis://yourusername:yourpassword@localhost:6379/
PORT=1200
注意:
如果 Redis 没有设置密码,可以简化为:
REDIS_URL=redis://localhost:6379/
如果 Redis 运行在其他服务器,将 localhost 替换为对应的 IP 或域名。
4.运行 RSSHub
启动 RSSHub
pnpm start
后台运行 RSSHub
使用 pm2 管理后台
sudo npm install -g pm2
sudo pm2 start pnpm --name rsshub -- start
sudo pm2 save
sudo pm2 startup
5.配置 Nginx 反向代理
如有需要,可以配置反向代理启动域名访问
安装 Nginx
sudo apt install -y nginx
配置 Nginx
编辑 /etc/nginx/conf.d/rsshub.conf:
server {
listen 80;
listen [::]:80;
server_name rsshub.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name rsshub.example.com;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EECDH+CHACHA20:EECDH+AES256:EECDH+AES128:!aNULL:!SHA1:!MD5:!EXPORT:!DES";
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_certificate /etc/ssl/example.com/fullchain.crt;
ssl_certificate_key /etc/ssl/example.com/private.key;
location / {
proxy_pass http://127.0.0.1:1200;
proxy_set_header Host $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;
}
}
测试并运行 Nginx
sudo nginx -t # 测试配置
sudo systemctl reload nginx
sudo systemctl enable nginx
sudo systemctl start nginx
6.防火墙设置
iptables 防火墙设置
sudo apt install iptables-persistent
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables-save
sudo netfilter-persistent save
sudo netfilter-persistent reload
ufw 防火墙设置
sudo ufw allow 80/tcp 443/tcp
sudo ufw enable
7.更新 RSSHub
cd /usr/share/RSSHub
git pull
pnpm install
pnpm build
sudo pm2 restart rsshub
更多推荐


所有评论(0)