新增 systemd 单元文件与部署说明(含 cookie 刷新守护调度)

This commit is contained in:
RRRosmontis
2026-08-27 21:33:32 +08:00
parent 00f8678d75
commit d9a66c8b86
5 changed files with 78 additions and 1 deletions
+8 -1
View File
@@ -17,10 +17,17 @@ source/
└── qr_login_fast.py └── qr_login_fast.py
nginx/ nginx/
└── openapi.rrrosmontis.icu.conf # nginx 统一入口(/pixiv/ /bilibili/ /img-master/ 图片反代) └── openapi.rrrosmontis.icu.conf # nginx 统一入口(/pixiv/ /bilibili/ /img-master/ 图片反代)
systemd/
├── openapi.service # 聚合层
├── pixiv.service # Pixiv 图片服务
├── bilibili.service # bilibili 视频服务
└── bilibili-refresh.service # cookie 刷新守护(每 50–70 分钟随机刷新)
``` ```
## 部署 ## 部署
1. token:复制 `source/pixiv/tokens.template.json` 为 `source/pixiv/tokens.json`,填入实际 pixiv token 1. token:复制 `source/pixiv/tokens.template.json` 为 `source/pixiv/tokens.json`,填入实际 pixiv token
2. bilibili cookie:放置 `source/bilibili/cookies.txt`(`name=value` 格式),或运行 `qr_login.py` 扫码生成 2. bilibili cookie:放置 `source/bilibili/cookies.txt`(`name=value` 格式),或运行 `qr_login.py` 扫码生成
3. 服务:openapi / pixiv / bilibili / bilibili-refresh 四个 systemd 服务 3. 服务:将 `systemd/*.service` 安装到 `/etc/systemd/system/`,启用并启动 openapi / pixiv / bilibili / bilibili-refresh(`systemctl enable --now`)
4. nginx:将 `nginx/openapi.rrrosmontis.icu.conf` 放入 `/etc/nginx/conf.d/`,`nginx -t && systemctl reload nginx`
5. 定时任务:无 cron/timer——bilibili-refresh 为常驻守护,内部循环每 50–70 分钟刷新 cookie,systemd `Restart=always` 兜底
+18
View File
@@ -0,0 +1,18 @@
[Unit]
Description=Bilibili Cookie Refresh Daemon
After=network-online.target
Wants=network-online.target
[Service]
Environment=PATH=/home/openapi/env/general/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Environment=SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
Type=simple
WorkingDirectory=/home/openapi/source/bilibili
ExecStart=/home/openapi/env/general/bin/python /home/openapi/source/bilibili/refresh_cookie.py
Restart=always
RestartSec=30
StandardOutput=append:/var/log/bilibili_refresh.log
StandardError=append:/var/log/bilibili_refresh.log
[Install]
WantedBy=multi-user.target
+17
View File
@@ -0,0 +1,17 @@
[Unit]
Description=Bilibili Video API Service
After=network-online.target
Wants=network-online.target
[Service]
Environment=PATH=/home/openapi/env/general/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Type=simple
WorkingDirectory=/home/openapi/source/bilibili
ExecStart=/home/openapi/env/general/bin/python /home/openapi/source/bilibili/bilibili.py
Restart=always
RestartSec=5
StandardOutput=append:/var/log/bilibili.log
StandardError=append:/var/log/bilibili.log
[Install]
WantedBy=multi-user.target
+17
View File
@@ -0,0 +1,17 @@
[Unit]
Description=OpenAPI Reverse Proxy (pixiv + bilibili)
After=network-online.target
Wants=network-online.target
[Service]
Environment=PATH=/home/openapi/env/general/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Type=simple
WorkingDirectory=/home/openapi/source/openapi
ExecStart=/home/openapi/env/general/bin/python /home/openapi/source/openapi/main.py
Restart=always
RestartSec=5
StandardOutput=append:/var/log/openapi.log
StandardError=append:/var/log/openapi.log
[Install]
WantedBy=multi-user.target
+18
View File
@@ -0,0 +1,18 @@
[Unit]
Description=Pixiv Image Proxy Service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=root
WorkingDirectory=/home/openapi/source/pixiv
Environment=PATH=/home/openapi/env/general/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ExecStart=/home/openapi/env/general/bin/python /home/openapi/source/pixiv/pixiv.py
Restart=always
RestartSec=5
StandardOutput=append:/var/log/pixiv.log
StandardError=append:/var/log/pixiv.log
[Install]
WantedBy=multi-user.target