Deploying a production-ready Next.js application on a Plesk server can be challenging, especially with the latest versions such as Next.js 15 and 16. This guide explains how to run Next.js on Plesk using the Node.js extension, including correct path configuration, dependency installation, and a custom start.js file for reliable production startup.
This guide explains how to deploy nextjs on plesk with the nodejs extension. We also assume your app has already been deployed via Git and exists in /wmn. A detailed article about deploying with SSH Keys / Deploy Keys can be found here.The folder name itself is not important.
You can also simply upload it via ssh or via web uploader.
In this example we used next’s src folder structure but it also works without that option enabled. Also the following files are not necessary: .env; .htaccess; app.js – this guide should work with a standard next js installation.)
Folder structure:

1) Enable Node.js:
Open Plesk → Domain → Node.js and click Enable Node.js.
Set Node.js Version to 24.x and Application mode to production.
2) Set the paths
- Application Root:
/wmn - Document Root:
/wmn/.next/static - Application Startup File:
start.js

3) Install dependencies twice:
- Click the npm install button.
- Open Run Node.js commands and run
npm installagain.

4) Build the app
Build on the server if you did not ship prebuilt assets (via Run script button)
build

You may also build in CI and deploy the generated .next artifacts via Git. But we would recommend building it on the plesk itself because of the Linux architecture the server is running.
5) Create start.js
Create /wmn/start.js with the following content:
// Force production mode
process.env.NODE_ENV = 'production';
const app = require('next/dist/cli/next-start');
app.nextStart({
port: process.env.PORT || 3000,
});
5) Restart Node.js
Click Restart Node.js in the Plesk Node.js panel. Plesk will proxy your app to the public vhost (HTTP/HTTPS).
Quick checklist
- Node.js 24.x enabled in production mode.
- Dependencies installed via button and
Run Node.js commands. - Paths set?
- Built once with
buildif not prebuilt. - Node.js restarted in Plesk.
Troubleshooting
- Blank page or 404 on assets: verify
Document Rootis exactly/wmn/.next/static. - Port errors: do not hardcode a port; the app must use
process.env.PORTas instart.js. - Module not found or build errors: run
npm installagain in Run Node.js commands, thennpm run build, and restart. - We disabled „proxy mode“ in „Apache & nginx Settings“
- Set the Path Env Variable:
PATH: /opt/plesk/node/24/bin:$PATH
⚠️ Please note: We do our best to keep things accurate, but we can’t guarantee perfection. Use at your own risk. If you still encounter errors, feel free to open an issue via Github
It this works for you we would love to see your support on Instagram, LinkedIn or Github <3