# Function: createHTTPServer()

> 

> **createHTTPServer**\<`TRouter`\>(`opts`): `Server`\<*typeof* `IncomingMessage`, *typeof* `ServerResponse`\>

Defined in: [packages/server/src/adapters/standalone.ts:122](https://github.com/trpc/trpc/blob/7c907acfd8b31929214792e3b8c2ad7a8ac72563/packages/server/src/adapters/standalone.ts#L122)

Creates a Node.js HTTP server for a router. Call `.listen()` on it.

## Type Parameters

| Type Parameter |
| ------ |
| `TRouter` *extends* [`AnyTRPCRouter`](https://trpc.io/docs/typedoc/server/index/type-aliases/AnyTRPCRouter.md) |

## Parameters

| Parameter | Type |
| ------ | ------ |
| `opts` | [`CreateHTTPHandlerOptions`](https://trpc.io/docs/typedoc/server/adapters/standalone/type-aliases/CreateHTTPHandlerOptions.md)\<`TRouter`\> |

## Returns

`Server`\<*typeof* `IncomingMessage`, *typeof* `ServerResponse`\>

## Example

```ts
createHTTPServer({ router: appRouter, createContext }).listen(3000);
```

## See

https://trpc.io/docs/server/adapters/standalone#2-use-the-standalone-adapter
