Next.js সাধারণত Vercel বা Netlify এর মতো হোস্টিং প্ল্যাটফর্মে ডিপ্লয় করা হয়ে থাকে। তবে চাইলে এটি cPanel ব্যবহার করেও ডিপ্লয় করা সম্ভব। নিচে ধাপে ধাপে পুরো প্রক্রিয়াটি বর্ণনা করা হলো।
ধাপ ১: server.js ফাইল তৈরি করা
প্রথমে প্রজেক্টের মূল (root) ফোল্ডারে একটি server.js নামের ফাইল তৈরি করতে হবে।
এই ফাইলের মাধ্যমে Next.js অ্যাপটি Node.js সার্ভারের সাহায্যে চালানো সম্ভব হয়।
const { createServer } = require('http')
const { parse } = require('url')
const next = require('next')
const dev = process.env.NODE_ENV !== 'production'
const hostname = '0.0.0.0'
const port = 3000
// when using middleware `hostname` and `port` must be provided below
const app = next({ dev, hostname, port })
const handle = app.getRequestHandler()
app.prepare().then(() => {
createServer(async (req, res) => {
try {
// Be sure to pass true as the second argument to url.parse.
// This tells it to parse the query portion of the URL.
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')
}
})
.once('error', (err) => {
console.error(err)
process.exit(1)
})
.listen(port, () => {
console.log(`> Ready on http://${hostname}:${port}`)
})
})
package.json file a script er moddhe server add korte hby,
"scripts": {
"dev": "next dev --turbopack",
"build": "next build",
"start": "NODE_ENV=production next start",
"server": "node server.js",
"lint": "eslint"
},
ধাপ ২: প্রজেক্ট বিল্ড করা
প্রজেক্টটি বিল্ড করার জন্য টার্মিনালে নিচের কমান্ডটি চালাতে হবে:
npm run build
এর ফলে .next ফোল্ডার তৈরি হবে, যা প্রজেক্টের বিল্ডকৃত ফাইলগুলো ধারণ করবে।
ধাপ ৩: প্রজেক্টটি ZIP ফরম্যাটে রূপান্তর করা
node_modules ফোল্ডারটি সাধারণত অনেক বড় হয়, তাই এটি ZIP ফাইলের মধ্যে অন্তর্ভুক্ত করা উচিত নয়।
node_modules ফোল্ডার বাদ দিয়ে প্রজেক্টটি ZIP ফাইলে রূপান্তর করুন।
ধাপ ৪: ফাইল আপলোড করা
cPanel-এ প্রবেশ করে File Manager খুলুন।
এরপর public_html অথবা নির্দিষ্ট ডোমেইন ফোল্ডারে ZIP ফাইলটি আপলোড করুন এবং Extract করুন।
ধাপ ৫: Node.js অ্যাপ্লিকেশন সেটআপ করা
এখন cPanel-এর Setup Node.js App অপশনে যান।
সেখানে একটি নতুন অ্যাপ্লিকেশন তৈরি করুন।
নিচের তথ্যগুলো প্রদান করুন –
Application Root: প্রজেক্টের অবস্থান
Application URL: আপনার ডোমেইন নাম
Application Startup File: server.js
এরপর Create Application বাটনে ক্লিক করুন।
ধাপ ৬: ডিপেনডেন্সি ইনস্টল ও সার্ভার রিস্টার্ট করা
অ্যাপ তৈরি হওয়ার পর cPanel স্বয়ংক্রিয়ভাবে package.json ফাইলটি প্রদর্শন করবে।
এখন “Run NPM Install” বাটনে ক্লিক করে প্রয়োজনীয় ডিপেনডেন্সি ইনস্টল করুন।
ইনস্টল সম্পন্ন হলে সার্ভারটি Restart করুন।
ফলাফল
উপরের ধাপগুলো সঠিকভাবে সম্পন্ন হলে, আপনার Next.js প্রজেক্টটি সফলভাবে cPanel সার্ভারে লাইভ হয়ে যাবে।
সংক্ষিপ্ত সারসংক্ষেপ
1. server.js ফাইল তৈরি করুন
2. প্রজেক্ট বিল্ড করুন
3. node_modules বাদ দিয়ে ZIP করুন
4. ফাইলটি public_html-এ আপলোড করে Extract করুন
5. Node.js
অ্যাপ সেটআপ করুন
6. Dependencies ইনস্টল করে সার্ভার রিস্টার্ট করুন
#nextjs #cpanel #Deployment
