# 使用 Bun 作为后端服务器

URL: https://caijiao.org/bun/deploy/server
Source: docs/bun/deploy/server.md
Description: 本章节介绍了如何使用 Bun 作为后端服务器，处理 HTTP 请求和响应，以及如何利用其高效的性能搭建后端服务。

Bun 不仅是一个高效的构建工具和前端运行时，它还可以作为一个轻量级的后端服务器。借助其原生的 HTTP API 和强大的性能，[Bun](/bun/) 可以处理来自客户端的请求、进行路由管理并返回响应，适合构建现代化的后端服务。

## 1. 设置 Bun 作为后端服务器

Bun 提供了一个内置的 `createServer` API，用于创建 HTTP 服务器。你可以直接使用这个 API 来处理请求，并通过它来响应客户端请求。例如：

```javascript
import { createServer } from 'bun';

createServer({
  fetch(req) {
    return new Response('Hello, Bun!', { status: 200 });
  },
}).listen(3000);

console.log('Server running on http://localhost:3000');
````

这段代码会启动一个在 3000 端口上监听的服务器，并返回一个简单的响应。

## 2. 路由处理

使用 Bun 作为后端时，你可以手动处理不同的路由请求。以下示例展示了如何处理多个路由：

```javascript
import { createServer } from 'bun';

createServer({
  fetch(req) {
    const url = new URL(req.url);
    if (url.pathname === '/api/data') {
      return new Response(JSON.stringify({ message: 'This is API data' }), {
        headers: { 'Content-Type': 'application/json' },
      });
    }
    return new Response('Page Not Found', { status: 404 });
  },
}).listen(3000);

console.log('Server running on http://localhost:3000');
```

在这个例子中，当访问 `/api/data` 路由时，服务器会返回 JSON 数据。

## 3. 与数据库集成

Bun 作为后端服务器也可以与数据库进行集成。你可以使用 Bun 的异步特性，结合常见的数据库驱动库，来处理数据存储和查询。例如，结合 Prisma 或 MySQL 的 Node.js 库，你可以方便地在 Bun 中执行数据库操作。

## 4. 性能优势

Bun 的高性能使得它在处理大量并发请求时表现出色。通过其内置的高效 HTTP 服务器和内存管理，Bun 可以轻松应对大流量的 Web 应用，提供优异的响应速度和吞吐量。

## 5. 总结

Bun 的轻量级、高性能和易于使用的特点使其成为构建后端服务的理想选择。无论是简单的 API 服务，还是复杂的后端系统，Bun 都能够提供一个高效且便捷的解决方案。
