Runtimes
Node.js
使用 Node.js 运行 Nitro 应用程序。
预设: node_server
Node.js 是生产构建的默认 nitro 输出预设,Nitro 具有原生的 Node.js 运行时支持。
使用 nitro CLI 构建项目:
nitro build
使用 Node 服务器预设运行 nitro build
时,结果将是一个启动准备好的 Node 服务器的入口点。尝试输出:
$ node .output/server/index.mjs
监听在 http://localhost:3000
您现在可以将完全独立的 .output
目录部署到您选择的主机上。
环境变量
您可以使用以下环境变量自定义服务器行为:
NITRO_PORT
或PORT
(默认值为3000
)NITRO_HOST
或HOST
NITRO_UNIX_SOCKET
- 如果提供(这是所需套接字文件的路径),服务将通过提供的 UNIX 套接字提供。NITRO_SSL_CERT
和NITRO_SSL_KEY
- 如果两者都存在,将以 HTTPS 模式启动服务器。在绝大多数情况下,这不应在测试之外使用,Nitro 服务器应运行在像 nginx 或 Cloudflare 这样的反向代理后,这些代理终止 SSL。NITRO_SHUTDOWN_DISABLED
- 设置为'true'
时禁用优雅关闭功能。如果设置为'true'
,将绕过优雅关闭以加快开发过程。默认值为'false'
。NITRO_SHUTDOWN_SIGNALS
- 允许您指定应处理哪些信号。每个信号应用空格分隔。默认值为'SIGINT SIGTERM'
。NITRO_SHUTDOWN_TIMEOUT
- 设置强制关闭发生前的时间(以毫秒为单位)。默认值为'30000'
毫秒。NITRO_SHUTDOWN_FORCE
- 设置为 true 时,在关闭过程结束时触发process.exit()
。如果设置为'false'
,进程将简单地让事件循环清除。默认值为'true'
。
集群模式
预设: node_cluster
为了获得更高的性能并利用多核处理,您可以使用集群预设。
环境变量
除了 node_server
预设中的环境变量外,您还可以自定义行为:
NITRO_CLUSTER_WORKERS
:集群工作者的数量(默认值为可用 CPU 核心的数量)
处理程序(高级)
预设: node
Nitro 还具有一个更低级的预设,直接导出一个具有 (req, res) => {}
签名的函数,可用于中间件和自定义服务器。
使用 Node 预设运行 nitro build
时,结果将是一个导出具有 (req, res) => {}
签名的函数的入口点。
示例:
import { createServer } from 'node:http'
import { listener } from './.output/server'
const server = createServer(listener)
server.listen(8080)