2025-08-28 11:34:44 +08:00

67 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 日志分析面板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
### 开发
```bash
# 安装依赖(使用 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](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
## Getting Started
First, run the development server:
```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```
Open [http://localhost:3000](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`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
## Learn More
To learn more about Next.js, take a look at the following resources:
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
## Deploy on Vercel
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.