# Node.js > 使用 Node.js 运行时运行 Nitro 应用。 **预设:** `node_server` Node.js 是生产构建的默认 Nitro 输出预设。 使用 Nitro CLI 构建项目: ```bash nitro build ``` 使用 Node 服务器预设时,构建输出是一个入口点,用于启动一个可直接运行的 Node 服务器。要在本地试用该输出: ```bash $ node .output/server/index.mjs Listening on http://localhost:3000 ``` 现在,你可以将完全独立的 `.output` 目录部署到你选择的托管平台。 ## 环境变量 你可以使用以下环境变量自定义服务器行为: - `NITRO_PORT` 或 `PORT`(默认为 `3000`) - `NITRO_HOST` 或 `HOST` - `NITRO_UNIX_SOCKET` - 设置为套接字文件路径时,服务器会监听所提供的 UNIX 套接字 - `NITRO_SSL_CERT` 和 `NITRO_SSL_KEY` - 同时设置这两个变量时,服务器会以 HTTPS 模式启动。这仅用于测试;在生产环境中,请将 Nitro 服务器运行在终止 SSL 的反向代理之后,例如 nginx 或 Cloudflare - `NITRO_SHUTDOWN_DISABLED` - 设置为 `'true'` 以跳过优雅关闭。默认为 `'false'` - `NITRO_SHUTDOWN_SIGNALS` - 触发优雅关闭的信号列表,以空格分隔。默认为 `'SIGINT SIGTERM'` - `NITRO_SHUTDOWN_TIMEOUT` - 强制关闭发生前的时间(以毫秒为单位)。默认为 `'30000'` - `NITRO_SHUTDOWN_FORCE` - 设置为 `'true'` 时,在关闭过程结束时调用 `process.exit()`。设置为 `'false'` 时,进程会直接等待事件循环清空。默认为 `'true'` ## 集群模式 **预设:** `node_cluster` 要利用多个 CPU 核心来提升性能,请使用集群预设。 ### 环境变量 除了上述 `node_server` 环境变量之外: - `NITRO_CLUSTER_WORKERS`:集群工作进程数量(默认为可用 CPU 核心数) ## 处理器(高级) **预设:** `node_middleware` Nitro 还提供了一个更底层的预设,可以导出一个中间件函数,以便你将其接入自定义服务器。 使用 Node 中间件预设时,构建输出是一个导出中间件处理器的入口点。 **示例:** ```js import { createServer } from 'node:http' import { middleware } from './.output/server' const server = createServer(middleware) server.listen(8080) ```