Cloud Server คืออะไร? Cloud Server คือระบบโครงสร้างพื้นฐานที่ให้ทรัพยากรการประมวลผลแก่ผู้ใช้งานผ่านอินเทอร์เน็ต คุณสามารถมองว่าเซิร์ฟเวอร์คลาวด์เปรียบเสมือนคอมพิวเตอร์ส่วนตัวที่คุณสามารถตั้งค่าและควบคุมได้เช่น แล็ปท็อปหรือเดสก์ท็อป บทความนี้จะอธิบายถึงองค์ประกอบสำคัญของ โครงสร้าง Cloud Server, ความแตกต่างระหว่างCloud Server กับบริการ cloud รูปแบบอื่น ๆ และวิธีเลือกบริการ cloud ที่เหมาะสมสำหรับเว็บไซต์หรือแอปพลิเคชันของคุณ หมายเหตุ: บางครั้งคุณอาจเห็นคำว่า “Cloud Server,” “Web server,” หรือ “Server” ใช้แทนกัน โดยทั่วไปแล้ว “Cloud Server” หมายถึงระบบปฏิบัติการ Linux ที่ทำงานเป็นเครื่องเสมือน (Virtual Machine) ซึ่งเป็นซอฟต์แวร์ที่จำลองคอมพิวเตอร์จริง เซิร์ฟเวอร์เหล่านี้ทำงานภายในคลัสเตอร์เซิร์ฟเวอร์ขนาดใหญ่ผ่านกระบวนการที่เรียกว่า การทำเสมือนจริง (Virtualization) สามารถดูบริการ cloud server ของ hostatom ได้ที่นี่ ซอฟต์แวร์ในระบบ cloud […]
วิธีใช้ cd, pwd และ ls เพื่อค้นหาไฟล์บนเซิร์ฟเวอร์ Linux
การเริ่มต้นเรียนรู้การใช้งาน Command Line เป็นขั้นตอนสำคัญที่จะช่วยให้สามารถใช้งานแพลตฟอร์มเซิร์ฟเวอร์ Linux ได้อย่างเต็มที่ นอกจากนี้ ยังเป็นพื้นฐานสำคัญสำหรับการทำงานเกี่ยวกับเซิร์ฟเวอร์ในทุกๆ ด้านที่คุณอาจต้องการใช้งานในอนาคต ถึงแม้ว่าจะมีเครื่องมือที่ใช้กราฟิก (GUI – Graphical User Interface) ให้เลือกใช้ แต่การเรียนรู้การใช้ Command Line จะช่วยให้ทำงานได้รวดเร็ว ยืดหยุ่น และมีประสิทธิภาพในแบบที่ GUI ส่วนใหญ่ไม่สามารถทำได้ บทความนี้เหมาะสำหรับผู้ที่เริ่มต้น สิ่งสำคัญคือ คุณต้องล็อกอินเข้าสู่เซิร์ฟเวอร์ VPS (Virtual Private Server) ของคุณก่อนเพื่อเริ่มต้นใช้งาน ทั้งนี้ วิธีการล็อกอินจะขึ้นอยู่กับระบบปฏิบัติการที่คุณใช้บนคอมพิวเตอร์ของคุณเอง โดยในบทความนี้ เราจะครอบคลุมพื้นฐานง่ายๆ เช่น วิธีการค้นหาในระบบไฟล์ และการตรวจสอบตำแหน่งที่คุณอยู่ในขณะนั้น การตรวจสอบตำแหน่งในระบบไฟล์ด้วยคำสั่ง pwd เมื่อคุณล็อกอินเข้าสู่เครื่อง Linux ของคุณแล้ว คุณอาจเห็นสิ่งที่หน้าตาคล้ายๆ นี้ สิ่งนี่คือ Prompt หรือจุดที่คุณพิมพ์คำสั่งเพื่อสั่งงานระบบ นอกจากการเป็นจุดรับคำสั่งแล้ว […]
การเรียนรู้เพื่มเติมสำหรับการใช้งาน Terminal
หลังจากที่คุณได้อ่าน “การเรียนรู้การใช้งาน Terminal เบื้องต้น” และ “คู่มือเริ่มต้นสำหรับบรรทัดคำสั่ง Linux” แล้วจะทำให้มีความเข้าใจพื้นฐานเกี่ยวกับการทำงานในสภาพแวดล้อมบรรทัดคำสั่ง (Command Line) ได้ดีขึ้น (หากยังไม่ได้อ่าน แนะนำให้อ่านก่อนนะคะ) แต่สำหรับหลายๆ คนที่เพิ่งเริ่มต้นใช้งาน อาจยังรู้สึกว่ามันใช้งานยากหรือจำกัดอยู่มาก บทความนี้จึงออกแบบมาเพื่อช่วยให้คุณเข้าใจพื้นฐานเพิ่มเติม พร้อมคำแนะนำเกี่ยวกับการปรับแต่ง และวิธีการทำให้เทอร์มินัลใช้งานได้ข้ามแพลตฟอร์ม จุดมุ่งหมายคือทำให้คุณรู้สึกสะดวกสบายกับการใช้เทอร์มินัลมากขึ้น เช่นเดียวกับที่คุณใช้คอมพิวเตอร์ในแบบอื่นๆ เนื่องจากการเริ่มต้นใช้งานเทอร์มินัลใน Windows อาจดูไม่ง่ายเท่าแพลตฟอร์มอื่นๆ เราจะเริ่มต้นบทความด้วยส่วนที่เกี่ยวกับการใช้เทอร์มินัลใน Windows ถ้าคุณใช้ macOS หรือ Linux สามารถข้ามไปได้เลย ปรับปรุงประสบการณ์การใช้งานเทอร์มินัลใน Windows ใน Windows มีหลายตัวเลือกสำหรับการใช้งานเทอร์มินัล แต่ในอดีต Windows ไม่ได้ใช้ Shell แบบ Unix (เช่น bash) เหมือน macOS หรือ Linux ซึ่งมีมานานตั้งแต่ช่วงปี 2000 […]
การนำทาง (Navigation) และการจัดการไฟล์บน Linux
การนำทาง (Navigation) และจัดการไฟล์และโฟลเดอร์ในระบบไฟล์เป็นทักษะสำคัญสำหรับการทำงานกับคอมพิวเตอร์ Linux โดยเฉพาะอย่างยิ่งบนเซิร์ฟเวอร์คลาวด์ที่ใช้คำสั่ง Linux เป็นหลัก บทความนี้จะช่วยแนะนำทักษะพื้นฐานในการใช้คำสั่งเหล่านี้ ผู้ใช้งานควรมีความเข้าใจเบื้องต้นเกี่ยวกับการทำงานในเทอร์มินัลและการใช้คำสั่ง Linux ซึ่งทางเราจะกล่าวถึงในบทความนี้ และคำแนะนำทั้งหมดสามารถทำได้ด้วยบัญชีผู้ใช้ทั่วไปที่ไม่มีสิทธิ์เป็นผู้ดูแลระบบ (non-root) หากต้องการทราบวิธีการตั้งค่าบัญชีผู้ใช้นี้ สามารถติดตามคำแนะนำเกี่ยวกับการตั้งค่าเริ่มต้นของเซิร์ฟเวอร์ในระบบปฏิบัติการที่คุณใช้ เช่น Ubuntu 20.04 การนำทางและสำรวจระบบไฟล์ ทักษะพื้นฐานที่สำคัญคือการเคลื่อนย้ายไฟล์ในระบบและตรวจสอบว่าในโฟลเดอร์ต่าง ๆ มีข้อมูลอะไรอยู่บ้าง เราจะใช้เครื่องมือและคำสั่งที่จำเป็นต่อการทำสิ่งเหล่านี้ในส่วนนี้ การหาตำแหน่งปัจจุบันด้วยคำสั่ง “pwd” เมื่อคุณเข้าสู่เซิร์ฟเวอร์ ระบบจะพาคุณไปที่โฟลเดอร์หลักของบัญชีผู้ใช้ของคุณ โฟลเดอร์นี้เป็นพื้นที่สำหรับเก็บไฟล์และสร้างโฟลเดอร์ต่าง ๆ ของคุณ โดยสามารถหาตำแหน่งโฟลเดอร์ปัจจุบันได้ด้วยคำสั่ง pwd คำสั่งนี้จะแสดงเส้นทางของโฟลเดอร์ที่คุณอยู่ ณ ขณะนั้น เช่น โฟลเดอร์หลักของคุณมักจะถูกตั้งชื่อเดียวกับชื่อบัญชีผู้ใช้ และอยู่ในโฟลเดอร์ที่เรียกว่า /home ซึ่งเป็นโฟลเดอร์ย่อยในระดับบนสุดที่เรียกว่า “root” แสดงด้วยเครื่องหมาย / การดูข้อมูลในโฟลเดอร์ด้วย “ls” เมื่อคุณทราบแล้วว่าคุณอยู่ในโฟลเดอร์ไหน คุณสามารถดูข้อมูลภายในโฟลเดอร์นั้นได้ ปัจจุบันโฟลเดอร์หลักของคุณอาจไม่มีไฟล์หรือโฟลเดอร์มากนัก ดังนั้นให้ลองเปลี่ยนไปที่โฟลเดอร์อื่นที่มีข้อมูลมากขึ้น โดยใช้คำสั่ง […]
การเรียนรู้การใช้งาน Terminal เบื้องต้น
บทความนี้เป็นบทความแรกในการที่จะสอนพื้นฐานของ Linux ซึ่งครอบคลุมการเริ่มต้นใช้งาน terminal หรือ command line ของ Linux และการใช้งานคำสั่งต่าง ๆ หากคุณเป็นผู้เริ่มต้นใช้งานใน Linux การทำความเข้าใจกับ terminal จะช่วยให้คุณสามารถทำงานกับเซิร์ฟเวอร์ Linux ได้อย่างมีประสิทธิภาพ เนื่องจาก terminal เป็นวิธีการหลักในการสื่อสารกับเซิร์ฟเวอร์ Linux Terminal Emulator Terminal Emulator คือโปรแกรมที่ช่วยให้เราใช้ terminal ในระบบปฏิบัติการที่มีกราฟิก (GUI) โดยปกติแล้วผู้ใช้จะใช้ระบบปฏิบัติการที่มี GUI สำหรับการใช้งานทั่วไป ดังนั้น Terminal Emulator จึงเป็นสิ่งที่จำเป็นสำหรับผู้ใช้เซิร์ฟเวอร์ Linux ต่อไปนี้เป็น Terminal Emulator ที่ใช้กันอย่างแพร่หลายและสามารถใช้ได้ฟรี แบ่งตามระบบปฏิบัติการ: แต่ละโปรแกรมมีคุณสมบัติที่แตกต่างกัน แต่ทั่วไปแล้ว terminal emulator ในปัจจุบันควรมีฟังก์ชันเช่น การเปิดหลายแท็บพร้อมกันและการไฮไลต์ข้อความ Shell […]
การเปรียบเทียบระบบจัดการฐานข้อมูล NoSQL และโมเดลฐานข้อมูล
เมื่อคนส่วนใหญ่คิดถึงฐานข้อมูล (Database) พวกเขามักนึกถึงฐานข้อมูลแบบเดิมที่ใช้โมเดลแบบเชิงสัมพันธ์ (Relational Database Model) ซึ่งใช้ตารางที่ประกอบไปด้วยแถวและคอลัมน์ ถึงแม้ว่าโมเดลเชิงสัมพันธ์ยังคงครองสัดส่วนส่วนใหญ่ในการจัดการข้อมูลบนอินเทอร์เน็ต แต่ในช่วงหลังมานี้ นักพัฒนาได้เริ่มใช้โมเดลฐานข้อมูลที่แตกต่างออกไปมากขึ้น ซึ่งเป็นผลมาจากข้อจำกัดของโมเดลเชิงสัมพันธ์ ทำให้เกิดกลุ่มฐานข้อมูลแบบใหม่ที่เรียกว่า NoSQL บทความนี้จะนำเสนอบางส่วนของโมเดลฐานข้อมูล NoSQL ที่ใช้งานกันอย่างแพร่หลาย โดยจะกล่าวถึงข้อดีและข้อเสีย รวมถึงยกตัวอย่างระบบจัดการฐานข้อมูลที่ใช้งานแต่ละโมเดลและกรณีที่เหมาะสมสำหรับการใช้งาน ฐานข้อมูลเชิงสัมพันธ์และข้อจำกัด ฐานข้อมูลเป็นการจัดกลุ่มข้อมูลหรือข้อมูลที่มีโครงสร้าง ส่วนระบบจัดการฐานข้อมูล (DBMS) คือโปรแกรมคอมพิวเตอร์ที่ใช้ในการทำงานกับฐานข้อมูล โดยระบบ DBMS จะช่วยให้เราสามารถควบคุมการเข้าถึงฐานข้อมูล, เขียนข้อมูล, รันคำสั่งค้นหา และทำงานอื่น ๆ ที่เกี่ยวข้องกับการจัดการฐานข้อมูลได้ แม้ว่าเรามักจะเรียกระบบจัดการฐานข้อมูลว่า “ฐานข้อมูล” แต่จริง ๆ แล้วทั้งสองคำนี้มีความหมายต่างกัน ฐานข้อมูลหมายถึงการรวมกลุ่มของข้อมูลใด ๆ ส่วน DBMS คือซอฟต์แวร์ที่ใช้ในการทำงานกับฐานข้อมูล ระบบ DBMS ทั้งหมดมีโมเดลพื้นฐานที่ใช้กำหนดโครงสร้างการจัดเก็บและเข้าถึงข้อมูล โดยในระบบฐานข้อมูลเชิงสัมพันธ์ (Relational Database Management System – […]
แนะนำพื้นฐานเกี่ยวกับ LVM: แนวคิด, ศัพท์เฉพาะ และการใช้งาน
LVM (Logical Volume Management) คือเทคโนโลยีจัดการอุปกรณ์จัดเก็บข้อมูลที่ให้ผู้ใช้สามารถรวมและจัดการอุปกรณ์จัดเก็บข้อมูลในรูปแบบที่ยืดหยุ่นได้มากขึ้น สำหรับเวอร์ชันปัจจุบันคือ LVM2 สามารถใช้เพื่อรวบรวมอุปกรณ์จัดเก็บข้อมูลที่มีอยู่เข้าด้วยกัน และจัดสรรหน่วยข้อมูลเชิงตรรกะ (Logical Units) จากพื้นที่รวมตามต้องการ ซึ่งทำงานบนโครงสร้างพื้นฐานของ device mapper ใน Linux kernel ข้อดีหลักของ LVM คือ การจัดการข้อมูลที่ยืดหยุ่นและควบคุมได้มากขึ้น ผู้ใช้สามารถตั้งชื่อ Logical Volume ให้สื่อถึงการใช้งานจริง เช่น “databases” หรือ “root-backup” นอกจากนี้ยังสามารถปรับขนาดของ Logical Volumes ได้แบบไดนามิก เมื่อความต้องการพื้นที่จัดเก็บเปลี่ยนแปลง และยังสามารถย้ายข้อมูลระหว่างอุปกรณ์จัดเก็บภายใน pool ได้โดยไม่ต้องหยุดระบบ รวมถึงฟีเจอร์ขั้นสูง เช่น snapshot, striping และ mirroring ในบทความนี้ คุณจะได้เรียนรู้พื้นฐานการทำงานของ LVM และฝึกใช้คำสั่งพื้นฐานเพื่อเริ่มต้นใช้งาน LVM บนเครื่องที่มีการติดตั้งระบบปฏิบัติการโดยตรง […]
วิธีการเลือก Linux Distribution
เมื่อต้องการตั้งค่าเซิร์ฟเวอร์บนคลาวด์ สิ่งแรกที่ต้องทำคือการติดตั้งระบบปฏิบัติการ ซึ่งในยุคปัจจุบันจะหมายถึงการใช้ระบบปฏิบัติการ Linux เกือบตลอดเวลา ในอดีตทั้งเซิร์ฟเวอร์ Windows และ Unix เคยได้รับความนิยมในบริบททางธุรกิจเฉพาะกลุ่ม แต่ปัจจุบันแทบทุกคนใช้ Linux เนื่องจากมีการสนับสนุนอย่างกว้างขวาง มีการออกใบอนุญาตที่ค่อนข้างมีความยืดหยุ่นหรือฟรี และได้รับการยอมรับอย่างแพร่หลายในโลกของการใช้งานเซิร์ฟเวอร์ มีการกระจายตัวของ Linux มากมายที่ผู้พัฒนาและผู้ดูแลระบบได้ให้การสนับสนุน มีทั้งที่ได้รับการสนับสนุนจากบริษัทเชิงพาณิชย์ ซึ่งแต่ละแบบมีความเหมาะสมต่างกันสำหรับการใช้งานในเซิร์ฟเวอร์คลาวด์ ภาพรวมของ Linux Distribution Ubuntu เป็นหนึ่งในระบบปฏิบัติการ Linux ที่ได้รับความนิยมมากที่สุดสำหรับทั้งเซิร์ฟเวอร์และคอมพิวเตอร์ส่วนตัว Ubuntu มักจะมีการออกเวอร์ชันใหม่ทุก 6 เดือน และจะมีเวอร์ชันที่ได้รับการสนับสนุนระยะยาว (LTS) ออกทุก 2 ปี ซึ่งจะได้รับการสนับสนุนเป็นเวลา 5 ปี จุดแข็งสำคัญของ Ubuntu คือความแพร่หลายและการมีเนื้อหาการเรียนรู้ที่หลากหลาย พร้อมด้วยชุมชนที่ให้การช่วยเหลืออย่างมากมาย Debian ถือได้ว่าเป็นระบบที่อยู่ต้นน้ำของ Ubuntu หมายความว่าแนวคิดหลัก ๆ และฟังก์ชั่นต่างหลัก ต่างๆ […]
วิธีตรวจสอบแก้ไขข้อผิดพลาดทั่วไปของ Apache
เมื่อต้องดูแลเซิร์ฟเวอร์ Apache บนระบบปฏิบัติการ Linux การพบปัญหาและข้อผิดพลาด (Troubleshoot) เป็นสิ่งที่หลีกเลี่ยงไม่ได้ การแก้ไขปัญหาอย่างมีประสิทธิภาพจำเป็นต้องรู้จักคำสั่งที่สำคัญและตำแหน่งของไฟล์ล็อกที่ใช้บันทึกข้อมูลข้อผิดพลาด บทความนี้จะแนะนำวิธีการตรวจสอบและแก้ไขปัญหาเซิร์ฟเวอร์ Apache โดยใช้คำสั่งหลัก 3 คำสั่ง ได้แก่ systemctl, journalctl และ apachectl พร้อมกับไฟล์ล็อกเฉพาะที่สามารถใช้ในการค้นหาสาเหตุของปัญหา คำสั่งเหล่านี้และไฟล์ล็อกจะเป็นเครื่องมือสำคัญที่ช่วยให้คุณสามารถวิเคราะห์และแก้ไขปัญหาเซิร์ฟเวอร์ Apache ได้อย่างรวดเร็ว หมายเหตุ: บนระบบ Debian และ Ubuntu ชื่อบริการและกระบวนการ (process) ของ Apache จะเป็น apache2 ในขณะที่บน CentOS, Fedora และระบบที่พัฒนาจาก RedHat ชื่อบริการและกระบวนการของ Apache จะเป็น httpd แม้ชื่อบริการและกระบวนการที่ทำงานจะแตกต่างกัน แต่การเริ่มต้น (start), หยุด (stop), ตรวจสอบสถานะของ Apache รวมถึงการดูล็อกด้วย […]
วิธีการใช้ ps, kill และ nice ในกระบวนการในการจัดการของ Linux
เซิร์ฟเวอร์ Linux เช่นเดียวกับคอมพิวเตอร์ในปัจจุบันซึ่งจะรันแอปพลิเคชันหลายตัวพร้อมกัน ซึ่งแอปพลิเคชันเหล่านี้จะถูกเรียกและจัดการเป็นกระบวนการ (process) แยกกันแต่ละตัว แม้ว่า Linux จะจัดการงานเบื้องหลังระดับต่ำต่าง ๆ ของกระบวนการ เช่น startup, shutdown และ การจัดสรรหน่วยความจำ เป็นต้น แต่เรายังคงต้องมีวิธีการโต้ตอบกับระบบปฏิบัติการเพื่อจัดการกับกระบวนการเหล่านี้ในระดับที่สูงขึ้น ในคู่มือนี้ คุณจะได้เรียนรู้แนวคิดพื้นฐานบางประการเกี่ยวกับการจัดการกระบวนการ Linux ผ่านระบบปฏิบัติการของ Ubuntu 20.04 ขั้นตอนที่ 1 – วิธีดูกระบวนการที่กำลังทำงานบน Linux คุณสามารถดูกระบวนการทั้งหมดที่ทำงานบนเซิร์ฟเวอร์ของคุณได้โดยใช้คำสั่ง top ผลลัพธ์หลายบรรทัดแรกจะแสดงสถิติของระบบ เช่น โหลด CPU/หน่วยความจำ และจำนวนงานทั้งหมดที่กำลังทำงาน จะเห็นได้ว่ามีกระบวนการที่กำลังทำงานอยู่ 1 กระบวนการ และมี 106 กระบวนการที่ถือว่าอยู่ในโหมดพักเครื่อง เนื่องจากไม่ได้ใช้รอบ CPU อย่างจริงจัง ผลลัพธ์อื่นที่แสดงเพิ่มเติมจะแสดงกระบวนการที่กำลังทำงานและสถิติการใช้งานของระบบอื่น ๆ คำสั่ง top จะจัดเรียงกระบวนการตามการใช้งาน […]