
OpenList 是一个由 OpenList 团队独立维护的开源项目,遵循 AGPL-3.0 许可证,致力于保持完整的代码开放性和修改透明性。
*下载OpenList
# 1. 更新软件源并安装 wget (修正了 Apt 大写问题)
apt update -y && apt install wget -y
# 2. 创建目录并进入
mkdir -p /opt/openlist
cd /opt/openlist
# 3. 下载文件 (请确保此链接有效)
wget -O openlist-linux-amd64.tar.gz https://github.com/OpenListTeam/OpenList/releases/download/v4.1.8/openlist-linux-amd64.tar.gz
# 4. 解压
tar -xvf openlist-linux-amd64.tar.gz
# 5. 清理压缩包
rm -f openlist-linux-amd64.tar.gz
# 6. 赋予执行权限 (这里使用通配符 * 防止文件名不完全匹配,或者你可以先 ls 看一下文件名)
chmod +x openlist
*通过SystemD允许OpenIst后台守护/自启动
cat > /usr/lib/systemd/system/openlist.service << EOF
[Unit]
Description=openlist
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/openlist/
# 注意:如果程序不需要 'server' 参数,请去掉下面的 'server'
ExecStart=/opt/openlist/openlist server
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
# 重载配置
systemctl daemon-reload
# 设置开机自启
systemctl enable openlist
# 立即启动
systemctl start openlist
*验证状态
systemctl status openlist
• 如果看到綠色的 Active: active (running):說明配置成功,程序正在運行。
• 如果看到红色的 Failed 或 Exited:
1. 可能是 ExecStart 里的 server 参数不对。
2. 可能是之前的 chmod +x 没有执行,文件没有运行权限。
3. 可以通过 journalctl -u openlist -n 20 查看具体的报错日志。
*重设初始密码指令
./openlist admin set password*放行防火墙
ufw allow 5244/tcp去你的域名商那解析Dns 方便后续反向代理
*安装Nginx
创建反向代理配置 目标文件:etc/nginx/conf.d/openlist.conf
并一键申请SSl证书
# ==========================================
# 第一步:先写入一个基础的 HTTP 配置
# (这样 Nginx 才能启动,Certbot 才能验证域名)
# ==========================================
cat > /etc/nginx/conf.d/openlist.conf << 'EOF'
server {
listen 80;
server_name pan.keshybe.top;
location / {
proxy_pass http://127.0.0.1:5244;
}
}
EOF
# 重启 Nginx 确保基础配置生效
systemctl restart nginx
# ==========================================
# 第二步:申请 SSL 证书
# (自动获取证书,如果已存在会跳过或更新)
# ==========================================
echo "正在申请 SSL 证书..."
certbot --nginx -d pan.keshybe.top --non-interactive --agree-tos --email simonns187@gmail.com --redirect
# ==========================================
# 第三步:写入最终的完美配置 (包含证书路径 + 性能优化)
# ==========================================
cat > /etc/nginx/conf.d/openlist.conf << 'EOF'
server {
listen 80;
server_name pan.keshybe.top;
# 强制跳转 HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name pan.keshybe.top;
# 证书路径 (Certbot 生成的标准路径)
ssl_certificate /etc/letsencrypt/live/pan.keshybe.top/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/pan.keshybe.top/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_pass http://127.0.0.1:5244;
# 基础头信息
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;
# === 核心优化:无限上传 + 10分钟超时 ===
client_max_body_size 0;
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
client_body_timeout 600s;
}
}
EOF
# ==========================================
# 第四步:重启 Nginx 使最终配置生效
# ==========================================
nginx -t && systemctl restart nginx
echo "🎉 搞定!pan.keshybe.top 现在已开启 HTTPS 且支持大文件上传。"
}
}
EOF
❗️注意:请务必将代码中的 pan.keshybe.top 替换为你自己的域名,以及将邮箱替换为你自己的!