日志分析面板(Next.js)
基于 Next.js App Router,提供与给定 Fastify 示例等价的接口与前端仪表盘:
- 列出站点:
GET /api/sites与页面/sites - 站点概览:
GET /api/sites/[dir]/analysis与页面/sites/[dir] - 原始日志:
GET /api/sites/[dir]/raw
默认读取目录:/opt/1panel/apps/openresty/openresty/www/sites/,可用环境变量覆盖:
WEBSITE_FILE_DIR=/your/sites/root
开发
# 安装依赖(使用 Bun)
bun install
# 运行开发
WEBSITE_FILE_DIR=/opt/1panel/apps/openresty/openresty/www/sites bun dev
# 构建与运行生产
bun run build
WEBSITE_FILE_DIR=/opt/1panel/apps/openresty/openresty/www/sites bun start
注意
- 本项目在 Node 运行时访问系统文件(access.log),请确保 Next.js 运行在服务器端(默认)。
lib/config.ts对站点名做了简单的字符白名单,避免路径穿越。 This is a Next.js project bootstrapped withcreate-next-app.
Getting Started
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
Learn More
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
Deploy on Vercel
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.