mirror of
https://github.com/woodchen-ink/Random-Api.git
synced 2025-07-18 05:52:02 +08:00
nodejs版本部署的方式,合并到一起,不需要部署两个站点了
This commit is contained in:
parent
af1a9472b6
commit
d1d21d1d05
12
.github/workflows/deploy.yml
vendored
12
.github/workflows/deploy.yml
vendored
@ -33,20 +33,20 @@ jobs:
|
|||||||
key: ${{ secrets.SERVER_SSH_KEY }}
|
key: ${{ secrets.SERVER_SSH_KEY }}
|
||||||
script: |
|
script: |
|
||||||
# 解压文件
|
# 解压文件
|
||||||
unzip -o /tmp/deployment.zip -d /opt/1panel/apps/openresty/openresty/www/sites/random-api-file.czl.net/index2
|
unzip -o /tmp/deployment.zip -d /opt/1panel/apps/openresty/openresty/www/sites/random-api.czl.net/index2
|
||||||
|
|
||||||
# 删除 index 目录下的所有文件
|
# 删除 index 目录下的所有文件
|
||||||
rm -rf /opt/1panel/apps/openresty/openresty/www/sites/random-api-file.czl.net/index/*
|
rm -rf /opt/1panel/apps/openresty/openresty/www/sites/random-api.czl.net/index/*
|
||||||
|
|
||||||
# 移动文件,采用覆盖模式
|
# 移动文件,采用覆盖模式
|
||||||
mv -f /opt/1panel/apps/openresty/openresty/www/sites/random-api-file.czl.net/index2/* /opt/1panel/apps/openresty/openresty/www/sites/random-api-file.czl.net/index/
|
mv -f /opt/1panel/apps/openresty/openresty/www/sites/random-api.net/index2/* /opt/1panel/apps/openresty/openresty/www/sites/random-api.czl.net/index/
|
||||||
|
|
||||||
# 删除 index2 文件夹
|
# 删除 index2 文件夹
|
||||||
rm -rf /opt/1panel/apps/openresty/openresty/www/sites/random-api-file.czl.net/index2
|
rm -rf /opt/1panel/apps/openresty/openresty/www/sites/random-api-file.net/index2
|
||||||
|
|
||||||
# 设置目录及其子文件的所有权和权限
|
# 设置目录及其子文件的所有权和权限
|
||||||
chown -R 1000:1000 /opt/1panel/apps/openresty/openresty/www/sites/random-api-file.czl.net/index
|
chown -R 1000:1000 /opt/1panel/apps/openresty/openresty/www/sites/random-api.czl.net/index
|
||||||
chmod -R 0755 /opt/1panel/apps/openresty/openresty/www/sites/random-api-file.czl.net/index
|
chmod -R 0755 /opt/1panel/apps/openresty/openresty/www/sites/random-api.czl.net/index
|
||||||
|
|
||||||
# 清理临时文件
|
# 清理临时文件
|
||||||
rm /tmp/deployment.zip
|
rm /tmp/deployment.zip
|
||||||
|
4
eo.js
4
eo.js
@ -1,5 +1,5 @@
|
|||||||
// 外部 JSON 文件的 URL
|
// 外部 JSON 文件的 URL
|
||||||
const CSV_PATHS_URL = 'https://random-api-file.czl.net/url.json';
|
const CSV_PATHS_URL = 'https://random-api.czl.net/url.json';
|
||||||
|
|
||||||
addEventListener('fetch', event => {
|
addEventListener('fetch', event => {
|
||||||
event.respondWith(handleRequest(event.request));
|
event.respondWith(handleRequest(event.request));
|
||||||
@ -58,7 +58,7 @@ async function handleRequest(request) {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 请求路径不在配置中,返回默认首页
|
// 请求路径不在配置中,返回默认首页
|
||||||
const indexHtmlResponse = await fetch('https://random-api-file.czl.net');
|
const indexHtmlResponse = await fetch('https://random-api.czl.net');
|
||||||
return new Response(indexHtmlResponse.body, {
|
return new Response(indexHtmlResponse.body, {
|
||||||
headers: { 'Content-Type': 'text/html' },
|
headers: { 'Content-Type': 'text/html' },
|
||||||
});
|
});
|
||||||
|
@ -6,12 +6,16 @@ const winston = require('winston');
|
|||||||
require('winston-daily-rotate-file');
|
require('winston-daily-rotate-file');
|
||||||
const cluster = require('cluster');
|
const cluster = require('cluster');
|
||||||
const numCPUs = require('os').cpus().length;
|
const numCPUs = require('os').cpus().length;
|
||||||
|
const path = require('path'); // 添加这行来导入 path 模块
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
const port = 5003;
|
const port = 5003;
|
||||||
|
|
||||||
|
// 设置静态文件目录
|
||||||
|
app.use(express.static(path.join(__dirname, 'public')));
|
||||||
|
|
||||||
// 外部 JSON 文件的 URL
|
// 外部 JSON 文件的 URL
|
||||||
const CSV_PATHS_URL = 'https://random-api-file.czl.net/url.json';
|
const CSV_PATHS_URL = 'https://random-api.czl.net/url.json';
|
||||||
|
|
||||||
// 设置缓存
|
// 设置缓存
|
||||||
let csvPathsCache = null;
|
let csvPathsCache = null;
|
||||||
@ -151,7 +155,7 @@ async function handleRequest(req, res) {
|
|||||||
return res.status(500).send('CSV file could not be fetched.');
|
return res.status(500).send('CSV file could not be fetched.');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const indexHtmlResponse = await fetch('https://random-api-file.czl.net');
|
const indexHtmlResponse = await fetch('https://random-api.czl.net');
|
||||||
const indexHtml = await indexHtmlResponse.text();
|
const indexHtml = await indexHtmlResponse.text();
|
||||||
return res.type('html').send(indexHtml);
|
return res.type('html').send(indexHtml);
|
||||||
}
|
}
|
||||||
|
@ -110,7 +110,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
// 异步加载 index.md 文件内容
|
// 异步加载 index.md 文件内容
|
||||||
fetch('https://random-api-file.czl.net/index.md')
|
fetch('./index.md')
|
||||||
.then(response => response.text())
|
.then(response => response.text())
|
||||||
.then(markdownText => {
|
.then(markdownText => {
|
||||||
// 渲染 Markdown 内容
|
// 渲染 Markdown 内容
|
15
nodejs/public/url.json
Normal file
15
nodejs/public/url.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"pic": {
|
||||||
|
"all": "https://random-api.czl.net/url/pic/all.csv",
|
||||||
|
"fjht": "https://random-api.czl.net/url/pic/fjht.csv",
|
||||||
|
"czlwb": "https://random-api.czl.net/url/pic/czl-website-background.csv",
|
||||||
|
"truegirl": "https://random-api.czl.net/url/pic/truegirl.csv",
|
||||||
|
"ecy": "https://random-api.czl.net/url/pic/ecy.csv",
|
||||||
|
"ecy1": "https://random-api.czl.net/url/pic/ecy1.csv",
|
||||||
|
"ecy2": "https://random-api.czl.net/url/pic/ecy2.csv"
|
||||||
|
},
|
||||||
|
"video": {
|
||||||
|
"all": "https://random-api.czl.net/url/video/all.csv"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
15
url.json
15
url.json
@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
"pic": {
|
|
||||||
"all": "https://random-api-file.czl.net/url/pic/all.csv",
|
|
||||||
"fjht": "https://random-api-file.czl.net/url/pic/fjht.csv",
|
|
||||||
"czlwb": "https://random-api-file.czl.net/url/pic/czl-website-background.csv",
|
|
||||||
"truegirl": "https://random-api-file.czl.net/url/pic/truegirl.csv",
|
|
||||||
"ecy": "https://random-api-file.czl.net/url/pic/ecy.csv",
|
|
||||||
"ecy1": "https://random-api-file.czl.net/url/pic/ecy1.csv",
|
|
||||||
"ecy2": "https://random-api-file.czl.net/url/pic/ecy2.csv"
|
|
||||||
},
|
|
||||||
"video": {
|
|
||||||
"all": "https://random-api-file.czl.net/url/video/all.csv"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
// 外部 JSON 文件的 URL
|
// 外部 JSON 文件的 URL
|
||||||
const CSV_PATHS_URL = 'https://random-api-file.czl.net/url.json';
|
const CSV_PATHS_URL = 'https://random-api.czl.net/url.json';
|
||||||
|
|
||||||
addEventListener('fetch', event => {
|
addEventListener('fetch', event => {
|
||||||
event.respondWith(handleRequest(event.request));
|
event.respondWith(handleRequest(event.request));
|
||||||
@ -58,7 +58,7 @@ async function handleRequest(request) {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 请求路径不在配置中,返回默认首页
|
// 请求路径不在配置中,返回默认首页
|
||||||
const indexHtmlResponse = await fetch('https://random-api-file.czl.net');
|
const indexHtmlResponse = await fetch('https://random-api.czl.net');
|
||||||
return new Response(indexHtmlResponse.body, {
|
return new Response(indexHtmlResponse.body, {
|
||||||
headers: { 'Content-Type': 'text/html' },
|
headers: { 'Content-Type': 'text/html' },
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user