โค้ดดิ้ง

สร้าง backend server บนเครื่อง Windows และใช้งานในวง LAN ได้

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

การจัดโครงสร้างโฟลเดอร์สำหรับหลายๆ เว็บไซต์:

สมมติว่าคุณต้องการมี 3 เว็บไซต์ ชื่อ website1, website2, และ website3 คุณสามารถสร้างโครงสร้างโฟลเดอร์แบบนี้ได้:

C:\
 ├── websites\
 │    ├── website1\
 │    │     ├── server.js
 │    │     ├── public\
 │    │     └── (อื่นๆ)
 │    ├── website2\
 │    │     ├── server.js
 │    │     ├── public\
 │    │     └── (อื่นๆ)
 │    └── website3\
 │          ├── server.js
 │          ├── public\
 │          └── (อื่นๆ)

ขั้นตอนการสร้างโฟลเดอร์และโปรเจกต์:

1. สร้างโฟลเดอร์โปรเจกต์สำหรับแต่ละเว็บไซต์:

  • เปิด Command Prompt หรือ PowerShell แล้วใช้คำสั่งดังนี้:
mkdir C:\websites\website1
mkdir C:\websites\website2
mkdir C:\websites\website3

2. สร้างโปรเจกต์สำหรับแต่ละเว็บไซต์ด้วย Express.js:

  • เข้าไปในแต่ละโฟลเดอร์ของเว็บไซต์แล้วสร้างโปรเจกต์ Express.js
cd C:\websites\website1
npm init -y
npm install express

ทำเหมือนกันสำหรับ website2 และ website3

3. แก้ไขไฟล์ server.js สำหรับแต่ละเว็บไซต์:

  • เข้าไปในแต่ละโฟลเดอร์ แล้วสร้างไฟล์ server.js ขึ้นมา ตัวอย่างโค้ดสำหรับ website1:
const express = require('express');
const app = express();
const path = require('path');
const port = 3001;  // ใช้ port ที่ต่างกัน เช่น 3001 สำหรับ website1

app.use(express.static(path.join(__dirname, 'public')));

app.get('/', (req, res) => {
    res.sendFile(path.join(__dirname, 'public', 'index.html'));
});

app.listen(port, '0.0.0.0', () => {
    console.log(`Website 1 is running on http://localhost:${port}`);
});

ทำการสร้างไฟล์ server.js แบบนี้ใน website2 และ website3 ด้วย แต่ให้เปลี่ยน port ของแต่ละเว็บไซต์ เช่น website2 ใช้ port 3002 และ website3 ใช้ port 3003

4. เพิ่มหน้าเว็บด้วย React.js (หรือ Frontend อื่นๆ):

  • สร้างโปรเจกต์ React สำหรับแต่ละเว็บไซต์ แล้ว build เสร็จให้เอาไฟล์จากโฟลเดอร์ build ไปใส่ในโฟลเดอร์ public ของแต่ละเว็บไซต์
cd C:\websites\website1
npx create-react-app my-app
cd my-app
npm run build

เอาไฟล์จาก my-app/build (หรือ my-app/dist) ไปไว้ใน C:\websites\website1\public

5. รันหลายเว็บไซต์พร้อมกัน:

  • รันเว็บไซต์แต่ละอันโดยการเปิด Command Prompt หรือ PowerShell หลายหน้าต่าง แล้วเข้าไปในแต่ละโฟลเดอร์ แล้วรันคำสั่ง:
node server.js

เมื่อรันแล้ว คุณจะสามารถเข้าถึงเว็บไซต์ได้ดังนี้:

  • website1 : http://<Your_IP>:3001
  • website2 : http://<Your_IP>:3002
  • website3 : http://<Your_IP>:3003

สรุป:

  1. สร้างโฟลเดอร์แยกสำหรับแต่ละเว็บไซต์ เช่น website1, website2, และ website3
  2. สร้างโปรเจกต์ Express.js สำหรับแต่ละเว็บไซต์ และตั้งค่า port ต่างกัน
  3. เพิ่มหน้าเว็บที่สร้างจาก React หรือ Frontend อื่น ๆ ในแต่ละโฟลเดอร์
  4. รันเว็บไซต์แต่ละอันพร้อมกัน โดยใช้ Command Prompt หลายหน้าต่าง

วิธีนี้จะช่วยให้คุณสามารถจัดการเว็บไซต์หลายเว็บได้ง่าย และใช้งานพร้อมกันในวง LAN ได้

Nidkoma

ชื่นชอบในการเขียนบทความ และการหาความรู้ในด้านต่างๆ ชอบถ่ายรูป ถ่ายวิดีโอ ชอบฟัง แต่ไม่ชอบพูดมั้ง ?? ^ ^

Related Articles

Back to top button