Mengupload NextJS ke hosting
Di era modern ini, aplikasi web tidak hanya sekadar menampilkan konten statis; pengguna menginginkan interaksi yang cepat, pengalaman mulus, dan performa yang tinggi. Next.js hadir sebagai salah satu framework React yang memungkinkan developer membuat aplikasi server-side rendering (SSR) maupun static site generation (SSG), yang sangat optimal untuk SEO dan kecepatan loading.
Namun, membuat aplikasi yang bagus di komputer lokal hanyalah setengah perjalanan. Tantangan sebenarnya muncul ketika kita ingin mengunggah aplikasi ke hosting. Hosting tradisional seperti cPanel atau shared hosting biasanya tidak mendukung Node.js secara native seperti server VPS. Jadi, perlu pemahaman tambahan tentang build output Next.js, struktur folder, dan cara menjalankan aplikasi di lingkungan hosting.
Di tutorial ini, kita akan membahas cara mengunggah Next.js yang sudah di-build ke hosting dengan langkah-langkah praktis dan jelas, sehingga aplikasi Anda bisa berjalan lancar di internet.
Paket yang cocok untuk Next.js
NextJS membutuhkan proses yang cukup banyak, dari pengetesan Kami rata-rata proses (dengan fork) NextJS mencapai 100 lebih. Oleh karenanya paket yang cocok untuk Next.JS adalah paket Enterprise.
Anda juga boleh melakukan trial jika sebelumnya Anda belum memiliki hosting di Domosquare, hal ini dapat memastikan aplikasi Anda dapat berjalan atau tidak tanpa khawatir bayar.
Tutorial Upload Next.js ke Hosting (Setelah Build)
Dikarenakan build nextjs memerlukan proses dan resource yang banyak, maka pastikan sebelum Anda upload ke cPanel Anda.
Buat aplikasi di Setup Node.JS
Di cpanel pada bagian Software, klik Setup Node.js App

Setelah ada di halaman Setup Node.js App, klik tombol “CREATE APPLICATION”

Setelah Anda buat Anda dapat coba test sesuai URL yang tadi Anda tentukan, jika berjalan, seharusnya Anda akan melihat tulisan:
It works!
NodeJS 22.18.0
Setelah memastikan nodejs nya berjalan, lakukan upload file project nextjs Anda di local ke folder nodejs apps yang baru saja Anda buat.
Perhatian: Jangan mengupload dengan folder node_modules nya
Setelah upload selesai, pada halaman aplikasi nodejs tadi yang Anda buat, klik tombol “Run NPM Install”, ini untuk menginstall package yang diperlukan sesuai package.json

Jika sudah selesai, selanjutnya Anda perlu mengedit file app.js pada folder aplikasi nodejs yang sudah Anda buat dengan kode berikut:
const { createServer } = require('http') const { parse } = require('url') const next = require('next') const dev = process.env.NODE_ENV !== 'production' const hostname = 'localhost' const port = process.env.PORT || 3000 const app = next({ dev, hostname, port }) const handle = app.getRequestHandler() app.prepare().then(() => { createServer(async (req, res) => { try { const parsedUrl = parse(req.url, true) const { pathname, query } = parsedUrl if (pathname === '/a') { await app.render(req, res, '/a', query) } else if (pathname === '/b') { await app.render(req, res, '/b', query) } else { await handle(req, res, parsedUrl) } } catch (err) { console.error('Error occurred handling', req.url, err) res.statusCode = 500 res.end('internal server error') } }).listen(port, (err) => { if (err) throw err console.log(`> Ready on http://${hostname}:${port}`) }) })
Jika sudah, simpan.
Dan selanjutnya terakhir yang perlu Anda lakukan Adalah restart kembali aplikasi nodejs nya.

Coba cek kemudian sesuai URL NodeJS app yang tadi sudah Anda tentukan, seharusnya jika kompatible dengan shared hosting, maka webnya sudah bisa diakses 🙂

Perhatian: NextJS menggunakan banyak resource, dan juga banyak module yang mungkin membutuhkan hak akses atau proses yang lebih tinggi dari yang disediakan di shared hosting. Jika kondisi demikian, kami sangat menganjurkan menggunakan VPS Managed Kami. Kami akan bantu setup VPS nya free tanpa biaya hingga aplikasi Anda jalan.