แม้ว่าคุณจะสามารถใช้เครื่องมือ เทคโนโลยี และสแต็กมากมายเพื่อสร้างเว็บไซต์ได้ แต่ Ghost CMS หรือ Ghost ก็เป็นตัวเลือกที่น่าทึ่ง
หากคุณไม่คุ้นเคย Ghost เป็นแพลตฟอร์มการเผยแพร่ระดับมืออาชีพแบบโอเพ่นซอร์สฟรีที่สร้างขึ้นบนสแต็กเทคโนโลยี Node.Js Ghost นำเสนออินเทอร์เฟซการเผยแพร่ที่มีประสิทธิภาพและใช้งานง่ายอย่างไม่น่าเชื่อ พร้อมด้วยเครื่องมือที่ยอดเยี่ยมสำหรับการสร้างเนื้อหา นอกจากนี้ยังมีการผสานรวมที่หลากหลายกับเครื่องมือต่างๆ เช่น Zapier, Google Analytics และอื่นๆ อีกมากมาย
วิธีหนึ่งในการสร้างเว็บไซต์ Ghost คือการโฮสต์เว็บไซต์ด้วยตนเองโดยใช้เครื่องมือเช่น Docker โชคดีที่ Ghost มีรูปภาพ Ghost ที่อ่านแล้วซึ่งเราสามารถใช้เพื่อเรียกใช้เว็บไซต์ Ghost ได้อย่างรวดเร็วดังที่เราเห็นในบทช่วยสอนนี้
ความต้องการ:
ก่อนที่เราจะเริ่ม ตรวจสอบให้แน่ใจว่าคุณมีเครื่องมือและข้อกำหนดดังต่อไปนี้:
- ติดตั้ง Docker Engine บนเครื่องของคุณแล้ว
- การเชื่อมต่อเครือข่าย
- Sudo หรือสิทธิ์ผู้ดูแลระบบเพื่อเรียกใช้คอนเทนเนอร์ Docker
ด้วยข้อกำหนดที่กำหนด เราสามารถเรียนรู้วิธีเรียกใช้ Ghost CMS โดยใช้ Docker
เริ่มต้นด้วยการตรวจสอบให้แน่ใจว่าคุณมี Docker เวอร์ชัน 20 ขึ้นไป:
$ เวอร์ชันนักเทียบท่าคำสั่งควรส่งคืนเอาต์พุตพร้อมรายละเอียดเกี่ยวกับเวอร์ชัน Docker ที่ติดตั้งดังนี้:
ลูกค้า: Docker Engine - ชุมชน
เวอร์ชัน: 23.0.6
เวอร์ชันเอพีไอ: 1.42
เวอร์ชัน Go: go1.19.9
Git กระทำ: ef23cbc
สร้าง: ศุกร์ พฤษภาคม 5 ยี่สิบเอ็ด : : 18 : : 13 2023
คุณ / อาร์ค: ลินุกซ์ / amd64
บริบท: ค่าเริ่มต้น
เซิร์ฟเวอร์: Docker Engine - ชุมชน
เครื่องยนต์:
เวอร์ชัน: 23.0.6
เวอร์ชันเอพีไอ: 1.42 ( รุ่นขั้นต่ำ 1.12 )
เวอร์ชัน Go: go1.19.9
คอมมิต: 9dbdbd4
สร้าง: วันศุกร์เดือนพฤษภาคม 5 ยี่สิบเอ็ด : : 18 : : 13 2023
คุณ / อาร์ค: linux / amd64
การทดลอง: เท็จ
บรรจุ:
เวอร์ชัน: 1.6.21
GitCommit: 3dce8eb055cbb6872793272b4f20ed16117344f8
วิ่ง:
เวอร์ชัน: 1.1.7
GitCommit: v1.1.7- 0 -g860f061
นักเทียบท่า-init:
เวอร์ชัน: 0.19.0
GitCommit: de40ad0
การดึงภาพ Ghost Docker
ขั้นตอนต่อไปคือการดาวน์โหลดอิมเมจ Ghost จาก Docker Hub เราสามารถทำได้โดยใช้คำสั่ง 'pull' ของ Docker ดังนี้
$ นักเทียบท่าดึงผี
การเรียกใช้อินสแตนซ์ Ghost Development บนพอร์ตเริ่มต้น
เมื่อเราดาวน์โหลดอิมเมจ Ghost แล้ว เราสามารถใช้เพื่อเรียกใช้อินสแตนซ์ Ghost ที่ทำงานบนพอร์ตเริ่มต้น 2368 ดังที่แสดงในคำสั่งต่อไปนี้:
$ นักเทียบท่าวิ่ง -d --ชื่อ ผี-dev -มันคือ NODE_ENV =ผีพัฒนาคำสั่งที่กำหนดใช้คำสั่ง Docker “run” เพื่อเริ่มคอนเทนเนอร์ ghost-dev ใหม่โดยใช้อิมเมจ ghost
เมื่อสำเร็จ คุณจะสามารถเข้าถึงไซต์ Ghost ใหม่ได้ที่ http://localhost:2368 . หากต้องการเข้าถึงอินเทอร์เฟซ Ghost Admin คุณสามารถใช้ http://localhost:2368/ghost .
หากคุณต้องการรัน Ghost บนพอร์ตแบบกำหนดเอง คุณสามารถใช้คำสั่งดังต่อไปนี้:
$ นักเทียบท่าวิ่ง -d --ชื่อ ผี-dev -มันคือ NODE_ENV = การพัฒนา -มันคือ URL =http: // โฮสต์ท้องถิ่น: 9001 -พี 9001 : : 2368 ผีในกรณีนี้ เราบอกให้ Docker รันคอนเทนเนอร์และแมปพอร์ต 9001 บนพอร์ตโฮสต์กับ 2368 บนคอนเทนเนอร์
จากนั้นคุณสามารถเข้าถึงไซต์ Ghost ได้ใน URL ที่กำหนด
คุณยังสามารถกำหนดค่าพารามิเตอร์ Ghost อื่นๆ ได้เมื่อเริ่มต้นคอนเทนเนอร์ตามที่แสดงในทรัพยากรต่อไปนี้:
https://ghost.org/docs/config/#running-ghost-with-config-env-variables
การรัน Ghost ด้วย Docker Compose
หากคุณต้องการใช้การกำหนดค่า Docker Compose ให้เริ่มต้นด้วยการสร้างไฟล์ “docker-compose.yml” และเพิ่มการกำหนดค่าดังต่อไปนี้:
รุ่น: '3.1'บริการ:
ผี:
ภาพ: ผี: 4 -อัลไพน์
รีสตาร์ท: เสมอ
พอร์ต:
- - 80 : : 2368
สิ่งแวดล้อม:
ฐานข้อมูล__ไคลเอนต์: mysql
ฐานข้อมูล__การเชื่อมต่อ__โฮสต์: db
ฐานข้อมูล__การเชื่อมต่อ__ผู้ใช้: รูท
ฐานข้อมูล__การเชื่อมต่อ__รหัสผ่าน: mysql
ฐานข้อมูล__การเชื่อมต่อ__ฐานข้อมูล: ghost
URL: http: // โฮสต์ท้องถิ่น: 80
NODE_ENV: การพัฒนา
ฐานข้อมูล:
ภาพ: mysql: 8.0
รีสตาร์ท: เสมอ
สิ่งแวดล้อม:
MYSQL_ROOT_PASSWORD: mysql
ในการกำหนดค่าก่อนหน้านี้ เรากำหนดบริการที่เราต้องการใช้ บริการแรกคือบริการ Ghost ซึ่งใช้ภาพ Ghost จากนั้นเราจะแมปพอร์ต Ghost กับพอร์ต 80 บนเครื่องโฮสต์ ซึ่งเราจะเปิดเผยอินสแตนซ์ Ghost กับอินเทอร์เน็ตผ่าน HTTP
นอกจากนี้เรายังกำหนดค่าพารามิเตอร์ฐานข้อมูลสำหรับเว็บไซต์ Ghost เช่น ไคลเอนต์ฐานข้อมูล โฮสต์ฐานข้อมูล ผู้ใช้และรหัสผ่าน MySQL และอีกมากมาย
สุดท้ายนี้ เรากำหนดบริการฐานข้อมูลซึ่งใช้อิมเมจ MySQL 8.0
ในการรันการกำหนดค่าก่อนหน้า เราใช้คำสั่งต่อไปนี้:
$ นักเทียบท่าเขียน -ฉ docker-compose.yml ขึ้น
เมื่อสร้างแล้ว คุณจะสามารถเข้าถึงไซต์ Ghost ได้ที่ http://localhost:80 .
บทสรุป
โพสต์นี้สำรวจพื้นฐานของการใช้งาน Ghost CMS โดยใช้ Docker และ Docker Compose โปรดสำรวจเอกสารประกอบเพื่อเรียนรู้เพิ่มเติม