<ก่อนหน้านี้ | Contents | ถัดไป>
ระบบ Linux เป็นแพลตฟอร์มที่ยอดเยี่ยมสำหรับการให้บริการเครือข่าย ในส่วนนี้ เราจะพยายามให้ภาพรวมของเซิร์ฟเวอร์เครือข่ายและแอปพลิเคชันทั่วไปส่วนใหญ่
10.3.1. ประเภทเซิร์ฟเวอร์
10.3.1.1. เซิร์ฟเวอร์แบบสแตนด์อโลน
การให้บริการแก่ผู้ใช้สามารถเข้าถึงได้สองวิธี daemon หรือบริการสามารถทำงานในโหมดสแตนด์อโลน หรือขึ้นอยู่กับบริการอื่นที่จะเปิดใช้งาน
บริการเครือข่ายที่มีการใช้งานอย่างหนักและ/หรือใช้งานต่อเนื่อง มักจะทำงานในโหมดสแตนด์อโลน: เป็นโปรแกรม daemons อิสระที่ทำงานตลอดเวลา ส่วนใหญ่มักจะเริ่มทำงานในเวลาบูตระบบ และรอคำขอจากจุดเชื่อมต่อหรือพอร์ตเฉพาะที่ตั้งค่าให้รับฟัง เมื่อมีการร้องขอ จะถูกประมวลผล และการฟังจะดำเนินต่อไปจนกว่าจะมีการร้องขอครั้งต่อไป เว็บเซิร์ฟเวอร์เป็นตัวอย่างทั่วไป: คุณต้องการให้มันใช้งานได้ตลอด 24 ชั่วโมง และถ้ามันยุ่งเกินไป ควรจะสร้างอินสแตนซ์การฟังเพิ่มเติมเพื่อให้บริการผู้ใช้พร้อมกัน ตัวอย่างอื่นๆ ได้แก่ ไฟล์เก็บถาวรซอฟต์แวร์ขนาดใหญ่ เช่น Sourceforge หรือมิเรอร์ Tucows ของคุณ ซึ่งต้องจัดการคำขอ FTP นับพันรายการต่อวัน
ตัวอย่างของบริการเครือข่ายแบบสแตนด์อโลนบนคอมพิวเตอร์ที่บ้านของคุณอาจเป็น ชื่อ (name daemon) เนมเซิร์ฟเวอร์ที่ใช้แคช บริการแบบสแตนด์อโลนมีกระบวนการทำงานของตัวเอง คุณสามารถตรวจสอบได้ตลอดเวลาโดยใช้ ps:
บ๊อบ:~> ps auxw | grep ชื่อ
ชื่อ 908 0.0 1.0 14876 5108 ? S Mar14 0:07 ชื่อ -u ชื่อ
บ๊อบ:~> ps auxw | grep ชื่อ
ชื่อ 908 0.0 1.0 14876 5108 ? S Mar14 0:07 ชื่อ -u ชื่อ
อย่างไรก็ตาม มีบริการบางอย่างที่คุณสามารถใช้ได้บนพีซีของคุณ แม้ว่าจะไม่มีกระบวนการเซิร์ฟเวอร์ที่ทำงานอยู่สำหรับบริการนั้นก็ตาม ตัวอย่างอาจเป็นบริการ FTP บริการคัดลอกที่ปลอดภัยหรือบริการนิ้ว บริการเหล่านั้นมีภูตอินเทอร์เน็ต (inetd) ฟังในสถานที่ของพวกเขา
10.3.1.2. (x)ไอเน็ต
บนพีซีที่บ้านของคุณ สิ่งต่าง ๆ มักจะสงบลงเล็กน้อย ตัวอย่างเช่น คุณอาจมีเครือข่ายขนาดเล็ก และคุณอาจต้องถ่ายโอนไฟล์จากพีซีเครื่องหนึ่งไปยังอีกเครื่องหนึ่งเป็นครั้งคราว โดยใช้ FTP หรือ Samba (สำหรับการเชื่อมต่อกับเครื่อง MS Windows) ในกรณีดังกล่าว การเริ่มบริการทั้งหมดที่คุณต้องการเป็นครั้งคราวและให้บริการตลอดเวลาจะทำให้สิ้นเปลืองทรัพยากร ดังนั้นในการตั้งค่าที่มีขนาดเล็กลง คุณจะพบกับ daemons ที่จำเป็นซึ่งขึ้นอยู่กับโปรแกรมส่วนกลาง ซึ่งรับฟังพอร์ตทั้งหมดของบริการที่รับผิดชอบ
ซุปเปอร์เซิร์ฟเวอร์นี้ คือ daemon บริการอินเทอร์เน็ต เริ่มทำงานในเวลาเริ่มต้นระบบ มีการใช้งานทั่วไปสองแบบ: inetd และ ซิเน็ท (ดีมอนบริการอินเทอร์เน็ตแบบขยาย) โดยทั่วไปแล้วระบบใดระบบหนึ่งจะทำงานบนทุกระบบ Linux:
บ๊อบ:~> ป.ล. -เอฟ | เกรป ไอเน็ต
root 926 1 0 มี.ค. 14 ? 00:00:00 xinetd-ipv6 -stayalive -reuse \
-pidfile /var/run/xinetd.pid
บ๊อบ:~> ป.ล. -เอฟ | เกรป ไอเน็ต
root 926 1 0 มี.ค. 14 ? 00:00:00 xinetd-ipv6 -stayalive -reuse \
-pidfile /var/run/xinetd.pid
บริการที่อินเทอร์เน็ต daemon รับผิดชอบ มีการระบุไว้ในไฟล์การกำหนดค่า
/etc/inetd.confสำหรับ inetdและในไดเร็กทอรี /etc/xinetd.d สำหรับ ซิเน็ท. บริการที่มีการจัดการทั่วไป ได้แก่ บริการแชร์ไฟล์และพิมพ์, SSH, FTP, telnet, ภูตการกำหนดค่า Samba, บริการพูดคุยและเวลา
ทันทีที่ได้รับการร้องขอการเชื่อมต่อ เซิร์ฟเวอร์กลางจะเริ่มอินสแตนซ์ของเซิร์ฟเวอร์ที่จำเป็น ดังนั้น ในตัวอย่างด้านล่าง เมื่อผู้ใช้ เมล็ดข้าว เริ่มเซสชัน FTP ไปยังโลคัลโฮสต์ FTP daemon ทำงานตราบใดที่เซสชันยังทำงานอยู่:
บ๊อบ:~> ปล.auxw | grep ftp
บ๊อบ 793 0.1 0.2 3960 1076 pts/6 S 16:44 0:00 ncftp localhost
เอฟทีพี 794 0.7 0.5 5588 2608 ? SN 16:44 0:00 ftpd: