![](/_astro/b92a0027236df8d9ca46caa9e9ee1c75a6e43fdc29289b0af60aeb10ba580a3c-cover.BZc99i90.webp)
จากครั้งล่าสุดที่ได้เปลี่ยนระบบจาก Next.js + markdown มาใช้กระบวนท่าที่พึ่งพา Notion API แล้วใช้ Next.js ดึงข้อมูลมาแสดงผล มาตลอดหลายเดือนที่ผ่านมา ก็ค่อนข้างที่จะประทับใจจริงๆครับ แต่ในช่วงหลังที่รู้สึกว่าการ maintain ไม่สามารถทำได้มากเท่าที่ควรเหมือนแต่ก่อนแล้ว อยากจะเอาเวลาไปเรียนรู้สึกใหม่ๆที่ต้องทำ เราอยากจะมีบล็อกแค่เขียนในสิ่งที่อยากจะเขียนมากกว่า ประกอบกับในช่วงประมาณ 3-4 เดือนให้หลังนี้ Core Dependencies ที่ใช้งานอยู่นั้นเริ่มมีความงุนงงในการพัฒนา บางตัวอยู่ดีๆก็เปลี่ยนแบบหน้ามือเป็นหลังมือ bump version ทีนึงก็ style พังทีนึง (หลังๆในทวิตเตอร์ผมจะบ่นเรื่องนี้บ่อยมากเลย) จนมาถึง Style พังครั้งล่าสุดก็เริ่มรู้สึกว่าขี้เกียจแก้แล้ว
แล้วแบบไหนถึงจะเหมาะกับเราล่ะ ? อันนี้ก็คิดอยู่พักใหญ่ กลับไปใช้ cms ดีไหม ?
ช่วงที่ผ่านมาได้มีโอกาสเข้าไปทำงานกับบริษัทอยู่บ้าง ซึ่งงานที่เจอก็ได้พบว่าตามบริษัทที่ไม่ได้เป็นสาย tech จ๋าๆเนี่ยจะนิยมใช้ wordpress กัน ซึ่งผมไม่ใช่ว่าไม่ชอบนะ แต่รู้สึกว่าจับแล้วมันกลางๆ มันจะเร็วก็ไม่เร็ว กลางๆ ปลั๊กอินต้องลงอะไรบ้างก็ไม่ได้ติดตามตรงนั้นเลย ถ้าต้องมาเรียนรู้ใหม่ก็อาจจะหมดเวลามากกว่าเดิมแทน หรือจะเป็นลักษณะ headless cms แทน อันนั้นก็จะไม่ต่างจากเดิมที่ใช้ notion สักเท่าไหร่
แล้วจะเอายังไงดี ?
อยู่ๆก็นึกขึ้นได้ว่ามีอยู่ตัวนึงเป็น Javascript base ชื่อ Ghost แล้วก็มีความลื่นไหลพอสมควรเลยเท่าที่เคย poc มา แต่ตอนนั้นติดอยู่ข้อเดียวเลย ต้องหาโฮสต์ให้มันอยู่ ก็เลยไม่ได้ใช้ตั้งแต่ตอนนั้น (ก็คนมันงกอะนะ)
จากนั้นก็หาข้อมูลเพิ่มเติม รวมทั้งเปรียบเทียบกับตัวอื่นๆไปพร้อมกันด้วย ได้ข้อสรุปว่าตกลงจะใช้ Ghost CMS นี่ล่ะ หลายๆที่ รวมถึงใน Docs ของ Ghost ก็แนะนำโฮสต์ที่ DigitalOcean ไปเลยง่ายดีมี image พร้อมติดตั้งเลย ราคาก็ใช้ได้อยู่ต่ำสุดอยู่ที่ 6$ ต่อเดือน
เพิ่มเติมตรงนี้นิดนึง จริงๆฝั่ง GCP Free tier ที่สเปคเท่าๆกันก็ใช้ได้นะครับ แต่ว่ามันต้องเป็นเครื่องใน region US บางที่เท่านั้น ซึ่งผมรู้สึกว่าลองใช้แล้วมันช้าไปหน่อย ถึงจะพ่วง clodflare cdn ไปแล้วก็ตามที พอไปดูแบบเสียเงินก็ราคาฝั่ง DigitalOcean ก็น่ารักกว่าอยู่ดี
จัดการสมัคร account ผูกบัญชีสำหรับหักเงินให้เรียบร้อย โดยผมผูกกับ Paypal ทาง DigitalOcean จะหักไว้ก่อน 5$ (ประมาณ 180 บาท) จากนั้นก็ทำการติดตั้ง Ghost CMS โดยสามารถสร้าง droplet จากหน้า ui เอง หรือจะติดตั้งจากในหน้า marketplace ก็ได้
เราสามารถใช้เซิร์ฟเวอร์เจ้าไหนก็ได้ ขอแค่มันติดตั้งได้ก็พอ แต่ที่ผมเลือกที่นี่เพราะว่ามัน”ง่าย”ที่สุดเท่านั้นเอง ไม่ต้องมานั่งงม terminal หลังจาก droplet ทำการ deploy ตัวเองเสร็จ เราแค่ต้อง connect ssh ต่อเข้าเครื่องไป จากนั้นตัว image ก็จะทำการติดตั้งเองทั้งหมด จากนั้นก็ไป config ทางหน้าเว็บต่อได้เลย
![Blog Image](/_astro/cb42403982bce74d7cafa4acdce32aafeac7538c018bb6535f5c2a7e7dab74e7.CF6LD_zc_1uIe1M.webp)
connect เข้าไปเฉยๆ ระบบจัดการให้(เกือบ)ทั้งหมด
ขั้นตอนโดยสรุปสั้นๆ
- เข้า ssh เพื่อรันระบบครั้งแรก + ติดตั้ง service โดยตัว image จัดการเองแทบทั้งหมด
- จัดการ reserve static ip ให้ droplet และชี้ A name มาที่ ip ที่ reserve ไว้
- config domain, ทำ ssl + gninx และตั้งค่า redirect กรณีพิมพ์ www. ข้างหน้าแล้วเข้าเว็บไม่ได้
- จัดการ theme และตั้งค่ายิบย่อยต่างๆ
- migrate บล็อกจากที่เดิม โดย dupplicate มาจาก notion เลย แล้วก็มาเก็บรายละเอียดพวกลิงค์ รูปภาพ
เสร็จสิ้นกระบวนการ
ปัญหาที่พบ
instance ที่ผมใช้รันระบบเว็บอยู่นี้แรม 1gb แค่นั้น cpu แทบไม่โหลดเลย แต่กลับกัน memory วิ่งไปที่ 95% ในช่วง peak เลย เฉลี่ยก็จะอยู่ที่ 80% - 85% ทำไมมันกินเยอะจัง
![Blog Image](/_astro/2269efc3525de83222fcb031f4fb95726ce8f78c862c0e4ed840b0b7dfc76643.zPGcgeKm_Z1iVVvq.webp)
หาข้อมูลแล้วก็พบว่า หลายๆคนก็เป็นกันโดยคนร้ายในเรื่องนี้ก็คือ performance_schema โดยเราก็ไป disable มันเสีย ซึ่งไม่ได้ส่งผลอะไรกับ ghost cms นัก (วิธีการตามลิงค์ด้านล่าง)
![Blog Image](/_astro/44535c5319a8441ef05858abf60bd57e8ee3804c04b78e5be52285a2a0f017d9.C36xmETi_ZwkmyF.webp)
หลังจากที่ทำการปิด performance_schema การกินแรมก็ลดลงทันที
จากนั้นก็ทำการเพิ่ม Swap memory เข้าไปช่วยด้วยเพื่อสำรองไว้เผื่อฉุกเฉิน และก็พอให้มี headroom ไว้หายใจหายคอบ้าง (วิธีการตามลิงค์ด้านล่าง)
![Blog Image](/_astro/fe1eb7345eee0c451c7ccc870e56b41cd62ce7ae4be59789871ad0a96332ab13.bqA0Hgmj_Z1xvhcB.webp)
ผลออกมาก็เหลือการใช้ memory อยู่ที่ 60% โดยเฉลี่ย เป็นอันน่าพอใจ
ณ ปัจจุบันก็ยังไม่ได้ทำอะไรเพิ่ม มันค่อนข้างนิ่งดีคุ้มค่าเงินและความง่าย จะได้เอาเวลาไปโฟกัสกับการเขียน ไปเรียนเรื่องอื่นได้เต็มที่ ไม่ต้องมากังวลว่าวันนี้อะไรจะอัพเดทแล้ว style จะเพี้ยนไหม ถือว่าเป็นที่น่าพอใจสำหรับผมในช่วงเวลานี้
![Blog Image](/_astro/2765b21c363497712b20a4f183d49b870b53e588c9963d6b19a9d306beb149d7.D4V5o_dT_f5T5B.webp)
update 29/08/2022 : หลังจาก Ghost CMS มี minor update ก็พบว่าการใช้แรมลดลงไปอีก 10% เลยทีเดียว แสดงว่าที่ผ่านมามันมี bug ??
แล้วยังเก็บบล็อกเก่าไว้อยู่ไหม ? ก็ยังเก็บไว้อยู่นะครับ แต่ว่าจะย้ายไปอยู่ในส่วน old-blog แทน เอาไว้ดู flow ต่างๆรวมถึงอ้างอิงเวลาเขียนงานลักษณะนี้ได้ เพราะส่วนตัวเองนั้นเป็นคนขี้ลืม