เล่าประสบการณ์ทำเว็บสร้างรูปเรารักในหลวง (ฝั่ง Backend)

เรศ ชาวไร่
2 min readOct 14, 2016

--

nginx stub status

เอิร์ธ เขียนเล่าเรื่องการทำเว็บฝั่ง Frontend แล้ว พอดีผมได้มีส่วนร่วมนิดหน่อย อยากแชร์ประสบการณ์ให้ฟัง วาร์ปไปอ่านได้ที่ เล่าประสบการณ์ทำเว็บสร้างรูปเรารักในหลวง

บรรทัดหลังจากนี้ ไร้สาระ เลื่อนลงไปดูที่ข้อความว่า (ข้ามมาตรงนี้)

(ถ้าใครไม่ข้าม โปรดอย่าสบถด่าผมน่ะ ผมบอกไปแล้ว)

ขอแนะนำตัวก่อนน่ะครับ แต่ไม่บอกชื่อได้ไหม

ผมเริ่มทำงานที่ทีวีพูล ตอนที่ได้รู้จักกับเอิร์ธ เมื่อ 3 ปีที่แล้ว (น่าจะราวๆปี 2556) ผมทำงานฝั่ง Backend เว็บทีวีพูลออนไลน์ ทำ API ที่ส่ง JSON ให้เอิร์ธ แล้วเอิร์ธทำฝั่งหน้าเว็บ ดูด API JSON มาบ๊วบๆ แล้วก็เรนเดอร์เป็นหน้าตาสวยงาม สวยในแบบที่ผมทำไม่เป็น ผมเป็นแค่ส่ง JSON มาให้ เอิร์ธอยากได้อะไร ให้บอก ในช่วง 3 ปีนี้ มองตาก็รู้ใจ (จริงๆช่วงที่ทำงานด้วยกันตอนแรก 1 ปี ไม่เจอหน้ากันเลย แต่โม้ว่ามองหน้าก็รู้ใจ (แต่หลังๆเจอกันบ้างน่ะ ป.ล. เอิร์ธอยู่เชียงใหม่ เอิร์ธมีแฟนแล้ว ส่วนผม ยังมีไม่ครบ))

หลังจากที่เราทำงานที่ทีวีพูลด้วยกันมาราวๆ 2 ปี เอิร์ธลาออกก่อน แล้วผมก็ลาออกตาม (ทำใจไม่ได้ ทำงานไม่มีเอิร์ธ เราเกิดมาเพื่อคู่กัน)แต่ว่าเราไม่ได้ไปทำงานที่เดียวกัน แต่ก็ยังทำงานด้วยกันเหมือนเดิม ❤ ผมทำงานกับเอิร์ธมาเรื่อยๆ และก็คุยกันเข้าใจดีมาก ถามกัน สอนกัน เอิร์ธคงเล่าให้ฟังกับบล็อกก่อนหน้าบ้างแล้ว เรื่องส่วนตัวมากไป คนจะรำคาญ (อันนี้เขียนให้แฟนเอิร์ธอิจฉา)

(ข้ามมาตรงนี้) เข้าเรื่องเลย หลังจากเมื่อวันที่ 13 ตุลาคม 2559 ที่ผ่านมา ตามอ่านบล็อกของเอิร์ธ 👉 เล่าประสบการณ์ทำเว็บสร้างรูปเรารักในหลวง ซึ่งเอิร์ธปล่อยให้คนใช้ราวๆเที่ยงคืน ผมเลยใช้เพจที่ดูแลอยู่ช่วยแชร์ออกไป ผมก็เห็นว่าเอิร์ธเปิดโค้ดไว้ด้วยที่ Github ผมก็เข้าไปดู แต่ยังไม่มีประเด็นอะไรแล้วผมก็นอน ตื่นมาสายๆ เห็นคนแชร์เว็บเอิร์ธเต็มเลย ผมก็เลยตามอ่านคอมเม้นต์พี่ๆที่ไปคอมเม้นในโพสเอิร์ธ เห็นบอกว่า มีออกข่าวช่อง 3 ด้วย พี่บางคน (ลูกพี่ผมเอง) ทำนายไว้ว่า ล่มแน่นอน ผมเลยเข้าไป git clone มารันไว้ที่ server ที่เช่าไว้ ไม่ค่อยได้ใช้ ซึ่งสเปคมันก็แรงมากอยู่แล้ว อยู่ที่ Paris ผม git clone มา แล้วสั่ง docker run ไปทิ้งไว้ จากนั้นผมก็เขียนไฟล์คอนฟิกของ nginx ไว้ เผื่อว่าถ้าเอิร์ธตื่นมา แก้ DNS ที่ CloudFlare มาที่ผมได้เลย เว็บจะได้ทำงานต่อเนื่องได้ ไม่ติดขัด

ซึ่ง ก็เป็นแบบนั้นจริงๆ หลังจากเอิร์ธตื่นมา คงจะ Panic ไม่น้อย มี Active Session ที่ Google Analytics ที่ราวๆ 40k กว่าๆ แต่เว็บคนอื่นๆเข้าเว็บไม่ได้แล้ว หลังจากนั้น เอิร์ธแก้ DNS ชี้มาที่ IP ที่ผมทิ้งไว้ในแชทให้ ก็ทำงานได้ปกติ แต่มีประเด็นนิดหน่อย ตรงที่อยากได้ URL เดิมที่เป็น earthchine.com/loveking/ เพราะโดเมนใหม่ที่เป็น loveking.earthchie.com ไม่ได้เป็นข่าว เอิร์ธก็เลยบอกว่า ผมยกโดเมน earthchie.com ให้ชั่วคราว ฝากคอนฟฟิกให้เว็บ ทำงานได้เหมือนเดิมด้วย คือ earthchie.com/loveking/

เนื่องจากว่า เอิร์ธปล่อยโค้ดแจกไว้อยู่แล้วง่ายเลย และผมก็ใช้ nginx + docker อยู่แล้ว เลยไม่ยากที่จะคอนฟิก โดยการ run docker container แล้ว map volume เข้าไป ถ้าจะให้แสดงคำสั่ง และคอนฟิกให้ดู จะได้เท่านี้

$ git clone https://github.com/earthchie/we_love_the_king_generator.git
$ docker run -d --name loveking -v /path/to/we_love_the_king_generator:/usr/share/nginx/html/loveking -p 8001:80 nginx:alpine
$ # แก้ nginx config เพื่อทำ reverse proxy ตามนี้
$ # /path/to/nginx/conf/site/earthchie.com
# earthchie.com
upstream earthchie.com {
server 127.0.0.1:8001;
}
server {
listen 80;
server_name www.earthchie.com earthchie.com;
location / {
proxy_pass http://earthchie.com;
}
}

จากโค้ด และ คำสั่งข้างบน ผมได้เว็บ earthchie.com/loveking/ เว็บใหม่ ที่ server ใหม่ แล้ว จากนั้น ผมก็ใส่ ssh authorized_keys ให้เอิร์ธเข้าไปสั่งอัปเดทเว็บ ถ้ามีการแก้ไข ซึ่งที่เอิร์ธบอกว่า การย้ายไปที่ server ใหม่ ใช้เวลาราวๆ 10 นาที ก็ตามคำสั่ง และคอนฟิกด้านบนครับ หลังจากที่เอิร์ธเปลี่ยน DNS ชี้มา IP ใหม่ที่ผมคอนฟิกไว้ด้านบนแล้ว ก็มี Active Session หรือ Realtime Active Users ที่ราวๆ 62k (peak 65k)

ส่วนฝั่งของ server ที่ใช้ ตัว nginx active connections ไม่ได้เยอะขนาดนั้น จะอยู่ที่ราวๆ 3.8k — 4.1k per/sec ซึ่งไม่ได้เยอะมาก เพราะว่า nginx มันปลดเร็ว เลยไม่ได้มี connection ค้างเยอะ ด้วย spec ของ server ที่ใช้ตัวนี้ มันจะสามารถที่จะรับผู้ใช้งานได้ 2 เท่าของเว็บทีวีพูลออนไลน์เป็นอย่างน้อย :)

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

อันนี้สรุปจริงๆ
- การทำเว็บที่สวย แต่คนดูไม่ได้ มันไร้ความหมาย
- จบ

--

--

เรศ ชาวไร่

ทดลองเป็นโปรแกรมเมอร์ (หื่น)