วิธีปรับใช้ Next.js APP กับ cPanel (คำแนะนำ)

เผยแพร่แล้ว: 2023-07-17
สารบัญ
  • Next.js คืออะไร
  • cPanel คืออะไร
  • ปรับใช้แอป Next.js กับ cPanel
  • ข้อดีและข้อเสียของการปรับใช้ NextJs กับ cPanel
  • คำถามที่พบบ่อย
  • ทรัพยากรอื่น ๆ
  • บทสรุป

เรียนรู้การปรับใช้แอปพลิเคชัน Next.js บน cPanel อย่างราบรื่นและมีประสิทธิภาพ ฉันจะแนะนำคุณทีละขั้นตอนในกระบวนการนี้

ก่อนที่จะเจาะลึก เรามาแกะว่า Next.js และ cPanel คืออะไร เผื่อว่าคุณยังใหม่ต่อข้อกำหนดเหล่านี้

Next.js คืออะไร

Next.js เป็นเฟรมเวิร์กที่เป็นระเบียบ อ้างอิงจาก React.js เป็นตัวช่วยในการสร้างแอปการแสดงผลฝั่งเซิร์ฟเวอร์ (SSR) React.js รองรับการสร้างแอปพลิเคชันหน้าเดียว (SPA) ตามค่าเริ่มต้นเท่านั้น อย่างไรก็ตาม Next.js มีคุณสมบัติ SSR ที่น่าสนใจ อะไรอีก? Next.js อัดแน่นด้วยระบบการกำหนดเส้นทางตามไฟล์ ท่ามกลางสิทธิพิเศษอื่นๆ

cPanel คืออะไร

ย้ายไปที่ cPanel คิดว่าเป็นซอฟต์แวร์ที่ทำให้การจัดการเซิร์ฟเวอร์ง่ายขึ้น มันนำเครื่องมือมากมายมาสู่โต๊ะของคุณ ตัวจัดการไฟล์ ตัวจัดการฐานข้อมูล และตัวจัดการชื่อโดเมนเป็นเพียงตัวอย่างบางส่วนเท่านั้น

ตอนนี้เราได้เป็นเพื่อนกับ Next.js และ cPanel แล้ว มาดูภารกิจหลักของเรากัน: การปรับใช้แอป Next.js บน cPanel สมมติว่าคุณมีแอป Next.js, เว็บโฮสต์ที่มี cPanel และชื่อโดเมนที่เชื่อมโยง เรามาเริ่มกันเลย

ปรับใช้แอป Next.js กับ cPanel

ขั้นตอนที่ 1 : เริ่มต้นด้วยการตั้งค่าเซิร์ฟเวอร์ Next.js แบบกำหนดเอง คุณต้องมีไฟล์ server.js ในไดเร็กทอรีรูทของโปรเจ็กต์ ซึ่งบรรจุด้วยโค้ดที่จำเป็น ค้นหาคำแนะนำอย่างเป็นทางการของ Next.js เพื่อขอความช่วยเหลือ

 const { createServer } = require('http') const { parse } = require('url') const next = require('next') const dev = process.env.NODE_ENV !== 'production' const hostname = 'localhost' 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}`) }) })

ขั้นตอนที่ 2 : ปรับแต่งไฟล์ package.json ขั้นตอนนี้ทำให้สภาพแวดล้อม 'พร้อมสำหรับการผลิต' และเปิดใช้งานไฟล์ server.js

 { "scripts": { "start": "NODE_ENV=production node server.js" } }

ขั้นตอนที่ 3 : ถึงเวลาสร้างแอปพลิเคชัน Next.js ของคุณ คุณสามารถทำได้โดยใช้คำสั่ง npm run build หรือ yarn run build ใน Terminal ของคุณ

ขั้นตอนที่ 4 : หลังสร้าง ค้นหาไฟล์โปรเจ็กต์ Next.js ของคุณในตัวจัดการไฟล์ หากคุณไม่เห็นไฟล์ที่ซ่อนอยู่ ให้เปิดการเปิดเผย หลีกเลี่ยงโฟลเดอร์ node_modules และ .git, README.md และไฟล์ .gitignore เลือกไฟล์และโฟลเดอร์อื่นทั้งหมด และสร้างไฟล์ ZIP

ขั้นตอนที่ 5 : ตอนนี้ เข้าสู่เว็บโฮสติ้ง cPanel ของคุณ อัปโหลดและแตกไฟล์ ZIP ไปยังโฟลเดอร์รูทของชื่อโดเมนของคุณ

ขั้นตอนที่ 6 : ไฟล์โครงการของคุณพร้อมแล้ว ตรงไปที่ส่วนซอฟต์แวร์ใน cPanel ของคุณ คลิกที่ Setup Node.js App ตามด้วยปุ่ม + Create Application ตั้งค่าแอป Node.js โดยคำนึงถึงเวอร์ชัน Node.js, โหมดแอปพลิเคชันที่ใช้งานจริง, รูทแอปพลิเคชัน, URL และไฟล์เริ่มต้น (server.js)

เสร็จสิ้นโดยคลิกสร้าง เมื่อสร้างแล้วให้หยุดสักครู่ เลื่อนลงไปที่ส่วนไฟล์การกำหนดค่าที่ตรวจพบ เรียกใช้การติดตั้ง NPM เพื่อรับแพ็คเกจ Node.js ทั้งหมด สุดท้ายคลิกเริ่มแอป

ไปแล้ว! เปิดชื่อโดเมนของคุณในเบราว์เซอร์ของคุณ แอป Next.js ของคุณพร้อมใช้งานแล้ว ทำได้ดีมากในการปรับใช้ที่ประสบความสำเร็จ!

การแชร์วิธีการปรับใช้แอป Next.js บน cPanel เป็นเรื่องที่น่ายินดี ขอให้โชคดีและมีความสุขในการเขียนโค้ด!

ข้อดีและข้อเสียของการปรับใช้ NextJs กับ cPanel

การนำแอปพลิเคชัน Next.js ไปใช้กับ cPanel นั้นมีประโยชน์มากมาย นี่คือข้อดีและข้อเสียที่ควรพิจารณา

ข้อดี :

  1. เป็นมิตรกับผู้ใช้ : cPanel มีอินเทอร์เฟซแบบกราฟิกที่ใช้งานง่าย ซึ่งช่วยลดความยุ่งยากในขั้นตอนการปรับใช้
  2. ระบบอัตโนมัติ : cPanel มีเครื่องมืออัตโนมัติมากมายที่สามารถจัดการงานต่างๆ เช่น การสร้างฐานข้อมูล การจัดการไฟล์เว็บไซต์ การตั้งค่าอีเมล และอื่นๆ
  3. ความอเนกประสงค์ : cPanel รองรับแอพพลิเคชั่นที่หลากหลาย รวมถึงแอพ Node.js เช่น แอพที่สร้างด้วย Next.js

ข้อเสีย :

  1. ความยืดหยุ่นที่จำกัด : แม้ว่า cPanel จะใช้งานง่าย แต่บางครั้งอาจจำกัดความยืดหยุ่นและการควบคุมสภาพแวดล้อมเซิร์ฟเวอร์ของคุณเนื่องจากอินเทอร์เฟซที่เรียบง่าย
  2. ปัญหาความเข้ากันได้ที่อาจเกิดขึ้น : ผู้ใช้บางรายได้รายงานปัญหาเมื่อปรับใช้แอปพลิเคชัน Next.js บนแพลตฟอร์มโฮสติ้งที่ใช้ร่วมกัน เช่น พบข้อผิดพลาดระหว่างกระบวนการสร้าง

คำถามที่พบบ่อย

ข้อดีและข้อจำกัดของการโฮสต์เว็บไซต์ Next.js บน cPanel คืออะไร

การโฮสต์เว็บไซต์ Next.js บน cPanel มีข้อดีหลายประการ เช่น การประหยัดต้นทุนและการรักษาความสามารถของ Next.js อย่างไรก็ตาม มีข้อจำกัดบางประการที่ควรทราบ ตัวอย่างเช่น cPanel ไม่สนับสนุนฟังก์ชันแบบไร้เซิร์ฟเวอร์และการเพิ่มประสิทธิภาพแบบคงที่โดยอัตโนมัติ การตัดสินใจโฮสต์บน cPanel ควรขึ้นอยู่กับความชอบส่วนบุคคลและความต้องการทางธุรกิจ

การกำหนดค่าไฟล์ .htaccess ทำอะไรเมื่อปรับใช้แอปพลิเคชัน Next.js บน cPanel

การกำหนดค่าไฟล์ .htaccess เป็นส่วนสำคัญในการปรับใช้แอปพลิเคชัน Next.js บน cPanel ไฟล์นี้ควบคุมพฤติกรรมของเซิร์ฟเวอร์เมื่อพบเงื่อนไขบางประการ การกำหนดค่าเฉพาะที่ระบุในตัวอย่างช่วยให้จัดการคำขอและการเปลี่ยนเส้นทางได้อย่างเหมาะสม

จะเกิดอะไรขึ้นหากฉันพบข้อขัดข้องหรือปัญหาการเปลี่ยนเส้นทางเมื่อปรับใช้แอป Next.js บน cPanel

หากคุณพบข้อขัดข้องหรือปัญหาการเปลี่ยนเส้นทางเมื่อปรับใช้แอป Next.js บน cPanel วิธีแก้ไขปัญหาหนึ่งคือการสร้างไฟล์เริ่มต้นชื่อ app.js ในโฟลเดอร์รูทของคุณ คุณต้องเรียกใช้แอปพลิเคชันของคุณเป็นแอปพลิเคชัน Node.js ในสถานการณ์นี้

ฉันจะปิดใช้งานการปรับแต่งภาพให้เหมาะสมได้อย่างไรเมื่อปรับใช้แอป Next.js บน cPanel

การปิดใช้งานการเพิ่มประสิทธิภาพรูปภาพเมื่อปรับใช้แอป Next.js บน cPanel สามารถทำได้ แต่คำแนะนำที่แน่นอนไม่ได้รวมอยู่ในข้อมูลที่ให้ไว้ สำหรับขั้นตอนเฉพาะ คุณควรดูเอกสารอย่างเป็นทางการของ Next.js หรือบทช่วยสอนที่เกี่ยวข้อง

ทรัพยากรอื่น ๆ

ผู้ให้บริการโฮสติ้ง Next.JS ที่ดีที่สุด

ผู้ให้บริการโฮสติ้ง Node.js ที่ดีที่สุด

บทสรุป

ในขณะที่การปรับใช้แอปพลิเคชัน Next.js กับ cPanel อาจมาพร้อมกับความท้าทายเล็กน้อย ข้อดีมักมีมากกว่าข้อเสีย ความเรียบง่ายและระบบอัตโนมัติที่นำเสนอโดย cPanel ทำให้กระบวนการปรับใช้ตรงไปตรงมาและจัดการได้ แม้แต่สำหรับนักพัฒนาที่ยังใหม่กับกระบวนการนี้ ด้วยคำแนะนำนี้ ตอนนี้คุณควรจะติดตั้งแอปพลิเคชัน Next.js ของคุณกับ cPanel ได้ดียิ่งขึ้น