React

วิธี Deploy แอพ React (Vite.js) บน Apache Web Server ง่ายๆ

เรื่องที่เกี่ยวข้อง - Apache Web Server, React for Web, ViteJS

สวัสดีครับ วันนี้พลจะมาแนะนำวิธีการ deploy react application ที่ใช้ vite.js ในการพัฒนา บน apache web server ให้เพื่อนพี่น้องได้ลองทำตามกันนะ

โดยบางคนอาจจะสงสัยว่า Apache Web Server นี่มันรวมถึงอะไรบ้าง ก็ได้แก่พวก WordPress, Joomla, Magento ถ้าแบบปกติก็จะใช้ Apache Web Server ในการทำงานครับ

การ deploy react application ที่ใช้ vite.js บน apache web server ไม่ยากเลย เพียงแค่เราต้องเข้าไปกำหนดค่าบางอย่าง ทั้งงงง

  • ในฝั่ง project react
  • ฝั่ง apache web server

ยกตัวอย่างนี้ เอาเป็นว่า เราจะลอง deploy ขึ้นไปที่ relative URL ของเว็บไซต์พลตามด้านล่างครับ

https://nextflow.in.th/vite-react-app-deploy-lab/

ตัวโปรเจคอยู่ที่ Github Repo นี่นะ

การกำหนดค่าฝั่ง React Project

1. กำหนด basename ของ BrowserRouter component เป็น relative path ที่เราจะวาง react app ที่ build แล้วลงไป เช่น /vite-react-app-deploy-lab

2. กำหนด base property ใน vite.config.ts เป็น relative path เช่น /vite-react-app-deploy-lab เหมือนกัน

3. รันคำสั่ง npm run build เพื่อสร้าง production version ส่วนนี้จะได้เป็น directory ชื่อ dist

React npm run build give a dist directory in the project

4. ตรวจเช็ค dist directory ที่ได้ว่ามีไฟล์ html และ asset อื่นๆ เหมือนในโปรเจค react

ฝั่ง apache web server ดำเนินการดังนี้

  • ให้แก้ไฟล? .htaccess ทำการ rewrite request ที่ relative url /vite-react-app-deploy-lab/ เพื่อให้ apache web server เข้าถึงไฟล์ html และ asset อื่นๆ ที่วางไว้ใน directory dist
  • นำไฟล์ html และ asset อื่นๆ ที่ได้จาก dist directory ในโปรเจค react มาวางไว้ใน directory dist บน Web server ครับ

เสร็จแล้วครับ เราก็สามารถเข้าถึง react app ของเราผ่าน apache web server ได้แล้ว

หวังว่าบทความนี้จะมีประโยชน์สำหรับผู้ที่ต้องการ deploy react application ที่ใช้ vite.js บน apache web server นะครับ

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

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

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save