新增 systemd 单元文件与部署说明(含 cookie 刷新守护调度)
This commit is contained in:
@@ -17,10 +17,17 @@ source/
|
||||
└── qr_login_fast.py
|
||||
nginx/
|
||||
└── 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
|
||||
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` 兜底
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user