mirror of
https://github.com/nuxt/nuxt.git
synced 2024-12-02 02:17:15 +00:00
944bba97ca
Co-authored-by: Pooya Parsa <pooya@pi0.io>
61 lines
1.7 KiB
Markdown
61 lines
1.7 KiB
Markdown
# Node.js Server
|
|
|
|
Discover the Node.js server preset with Nitro to deploy on any Node hosting.
|
|
|
|
::list
|
|
|
|
- **Default output format** if none is specified or auto-detected <br>
|
|
- Loads only the required chunks to render the request for optimal cold start timing <br>
|
|
- Useful for deploying Nuxt apps to any Node.js hosting
|
|
::
|
|
|
|
## Entry Point
|
|
|
|
When running `nuxt build` with the Node server preset, the result will be an entry point that launches a ready-to-run Node server.
|
|
|
|
```bash
|
|
node .output/server/index.mjs
|
|
```
|
|
|
|
## Example
|
|
|
|
```bash
|
|
$ node .output/server/index.mjs
|
|
Listening on http://localhost:3000
|
|
```
|
|
|
|
## Configuring Defaults at Runtime
|
|
|
|
This preset will respect the following runtime environment variables:
|
|
|
|
- `NITRO_PORT` or `PORT` (defaults to `3000`)
|
|
- `NITRO_HOST` or `HOST` (defaults to `'0.0.0.0'`)
|
|
- `NITRO_SSL_CERT` and `NITRO_SSL_KEY` - if both are present, this will launch the server in HTTPS mode. In the vast majority of cases, this should not be used other than for testing, and the Nitro server should be run behind a reverse proxy like nginx or Cloudflare which terminates SSL.
|
|
|
|
### Using PM2
|
|
|
|
To use `pm2`, use an `ecosystem.config.js`:
|
|
|
|
```js [ecosystem.config.js]
|
|
module.exports = {
|
|
apps: [
|
|
{
|
|
name: 'NuxtAppName',
|
|
exec_mode: 'cluster',
|
|
instances: 'max',
|
|
script: './.output/server/index.mjs'
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
### Using Cluster Mode
|
|
|
|
You can use `NITRO_PRESET=node_cluster` in order to leverage multi-process performance using Node.js [cluster](https://nodejs.org/dist/latest/docs/api/cluster.html) module.
|
|
|
|
By default, the workload gets distributed to the workers with the round robin strategy.
|
|
|
|
## Learn More
|
|
|
|
:ReadMore{link="https://nitro.unjs.io/deploy/node" title="the Nitro documentation for node-server preset"}
|