แนะนำเว็บเซิร์ฟเวอร์ Linux ที่รวดเร็วและมีคุณสมบัติปลอดภัยในการให้บริการเนื้อหาแบบสแตติก [ปิด]


14

รายการข้อกำหนดที่ต้องมี:

  • จะสามารถให้บริการแบบคงที่หน้าเว็บ HTML และไฟล์ (ภาพบีบอัดที่เก็บไฟล์ข้อความ ASCII ฯลฯ ) ผ่าน HTTP
  • เป็นทรัพยากรอนุรักษ์นิยม มันใช้สิ่งที่จำเป็นในการส่งข้อมูลผ่านเครือข่ายในรูปแบบของหน่วยความจำและ CPU และไม่มาก
  • มีการติดตั้งขนาดเล็ก
  • ใช้แบนด์วิดท์เครือข่ายเท่าที่จำเป็นเท่านั้น
  • จะเป็นผู้ใหญ่
  • เป็นเรื่องง่ายที่จะกำหนดค่า
  • รวบรวมเป็นรหัสพื้นเมือง ไม่มี Python หรือ Java เป็นต้น

สิ่งที่ฉันไม่ต้องการ:

  • ตัวเลือกการกำหนดค่าที่ซับซ้อน หากจำเป็นในภายหลังฉันจะเปลี่ยนเป็น Apache httpd
  • รองรับการใช้งาน CGI, Perl, PHP, Java, Server Side Include หรือ "พิเศษ" อื่น ๆ

ข้อเสนอแนะใด ๆ โปรด?


9
ฉันจะตั้งชื่อมันว่าฟ้าผ่าได้เร็วกว่าอาหารสัตว์ที่ปลอดภัยเราเซิร์ฟเวอร์ฟอร์ลินซ์ ไม่แน่ใจว่าจะใช้ชื่อนั้นหรือไม่
Dominic Rodger

ฉันคิดว่าพวกเขาก็คิดเช่นนั้น แต่พวกเขาตัดสินด้วย 'nginx'

คุณก็สามารถใช้หลาม: "งูใหญ่ -m SimpleHTTPServer" นี้จะเซิร์ฟเวอร์ไดเรกทอรีปัจจุบันในพอร์ต 8000
เกิร์ตเอ็ม

คำตอบ:


29

Nginxเรียนรู้เพิ่มเติมที่เว็บไซต์วิกิพีเดีย Nginx

มันร้อนเร็วเล็ก ไม่กี่% ในการสำรวจ Netcraft


ฉันเห็นด้วย. สำหรับหน้าคงที่ nginx นั้นยอดเยี่ยม!
ลุ


8

มีมากมาย แต่ฉันชอบเชอโรกีส่วนตัว มันค่อนข้างใหม่ แต่ก็ง่ายมากที่จะกำหนดค่าด้วย web-gui ในตัว


มันยังคงใช้ได้ไหม?
BigSack

8

บางทีฉันอาจจะถูกลดระดับลงเนื่องจากโซลูชันเหล่านี้ไม่ได้รวบรวมไว้ในรหัสเนทีฟต่อคำถาม "ต้องมี" แต่สำหรับเนื้อหาแบบสแตติกมันไม่ได้ง่ายกว่าการแชร์ไดเรกทอรีปัจจุบันด้วย Python One

python -m SimpleHTTPServer 9914

โปรดทราบว่าพอร์ต 9914 นั้นเป็นกฎเกณฑ์และเป็นเพียงตัวอย่างที่ใช้ซึ่งฉันพบวิธีแก้ปัญหานี้: http://linux.byexamples.com/archives/506/python-simple-http-server-for-file-sharing

โดยธรรมชาติคุณสามารถทำได้ด้วย Perl:

perl -MIO::All -e 'io(":8080")->fork->accept->(sub { $_[0] < io(-x $1 ? "./$1 |" : $1) if /^GET \/(.*) / })'

. . . ตามที่อธิบายไว้ที่http://search.cpan.org/~ingy/IO-All-0.39/lib/IO/All.pod#A_Tiny_Web_Server


ด้วยการใช้งาน Python-3$ python -m http.server 8000
webwurst

5

เซิร์ฟเวอร์ที่ตรงกับที่คุณอธิบาย:

  • kHTTPd - ในเคอร์เนลเซิร์ฟเวอร์ที่ง่ายมาก ไฟล์คงที่เท่านั้น

แสดงเซิร์ฟเวอร์ที่รวดเร็วซึ่งสามารถแสดงหน้าเว็บแบบไดนามิกได้หากต้องการ:

  • LigHTTPd - เซิร์ฟเวอร์สร้างขึ้นเพื่อพิสูจน์แนวคิดในการแก้ปัญหา C10K
  • nginx - เป็นที่นิยมอย่างมากมักใช้สำหรับการสตรีมหรือ reverse proxy

4

ผู้แสดงความคิดเห็นหลายคนพูดถึง lighttpd ตัวเลือกอื่นคือ thttpd


1
ดูดีนั่นคือสิ่งที่ Wile E Coyote ใช้? ;)

สิ่งนี้ยังมีชีวิตอยู่หรือไม่? รุ่นล่าสุดคือในเดือนธันวาคมของ 03 และเก็บรายชื่อผู้รับจดหมายหยุดในเดือนพฤษภาคมของ 08
JonDrnek

4

คุณสมบัติที่รวดเร็วปลอดภัยและมีประสิทธิภาพและต่ำ: ไฟล์สาธารณะโดย Dan Bernstein


เราใช้ publicfile ในหลาย ๆ ที่รวมถึงงานง่าย ๆ เช่นการกระจายไฟล์การกำหนดค่า WPAD ภายใน เร็วมากง่ายมากใช้งานได้เสมอ
mikebabcock

3

หรือ kHTTPd - เซิร์ฟเวอร์ที่ติดตั้งไว้ในเคอร์เนล linux หรือไม่


สิ่งแรกที่ผุดขึ้นในใจของฉัน ฉันไม่ได้ใช้มัน แต่ฉันเห็นตัวเลือกที่นั่นทุกครั้งที่ฉันกำหนดค่าเคอร์เนล

BTW จากเว็บไซต์ "ตั้งแต่เคอร์เนล 2.3.14, kHTTPd ถูกรวมเข้ากับเคอร์เนล" ดังนั้นรอบบล็อกสองสามครั้ง

5
อย่างไรก็ตามในฐานะของเคอร์เนล 2.6 มันไม่ได้สร้างอยู่ในเคอร์เนลอีกต่อไป
MarkR

3

ฉันจะไปกับเชอโรกีที่นี่ นอกจากนี้ฉันจะลืมเกี่ยวกับ Apache เราทุกคนเติบโตขึ้นด้วยความรักใช้อาปาเช่สนุกกับมันและ mysql เราทุกคนมีความทรงจำที่ดีและเราทุกคนรู้วิธีใช้งาน :)

อย่างไรก็ตามนั่นคืออดีตที่ผ่านการย้อมสีด้วยแว่นตาสีกุหลาบ การใช้หน่วยความจำ Fat ass, กระบวนการ Fat, ไฟล์กำหนดค่าที่ซับซ้อน, ล่ามแบบฝังตัว .. feh ในยุคปัจจุบันไม่มีใครต้องการ VPS ของลาไขมันอีกต่อไป รักความทรงจำ แต่ประหยัด RAM สำหรับแอพของคุณ


2

ฉันใช้mathopdในช่วง 2 ปีที่ผ่านมาเพื่อให้บริการเนื้อหาแบบคงที่ [ผสมภาพในไซต์อีคอมเมิร์ซบางแห่ง + การดาวน์โหลดจำนวนมาก] ไม่ต้องปวดหัว - ตั้งค่าได้ง่ายเพียงแค่ใช้งานและปล่อยซีพียูไว้ข้างๆ


2

ฉันได้ผลลัพธ์ที่ยอดเยี่ยมมาเป็นเวลาหลายปีด้วยthttpdซึ่งให้บริการมากกว่า 250 คำขอต่อวินาที (และนั่นก็เป็นค่าเฉลี่ยตลอดหนึ่งชั่วโมง) และมากถึง 400 คำร้องขอ simultanous การใช้หน่วยความจำต่ำความเสถียรสูงมากและโหลดระบบแทบจะไม่เหลืออะไรเลยแม้แต่ในการโหลด req / วินาทีที่สูง

บลูมเคาน์ตี้บิลแมวอธิบายวิธีการออกเสียง thttpd



1

มีเว็บเซิร์ฟเวอร์เชิงพาณิชย์ชื่อZeusซึ่งใช้กันอย่างแพร่หลายในอุตสาหกรรมเนื้อหาที่มีเนื้อหาสแตติกปริมาณสูง IIRC ใช้ async I / O ซึ่งมีประสิทธิภาพมากใน CPU มันอาจทำสิ่งที่คุณต้องการ แต่ไม่ฟรี


1

คุณอาจจะลองokws

OKWSเป็นเว็บเซิร์ฟเวอร์ที่สร้างการบริการเว็บที่รวดเร็วและปลอดภัย มันให้นักพัฒนาเว็บมีชุดเครื่องมือขนาดเล็กที่พิสูจน์แล้วว่ามีประสิทธิภาพเพียงพอที่จะสร้างระบบที่ซับซ้อนด้วยความพยายามที่ จำกัด แม้ว่าจะเน้นเรื่องความปลอดภัย OKWS จะแสดงข้อดีด้านประสิทธิภาพเมื่อเทียบกับคู่แข่งยอดนิยม: เมื่อให้บริการปริมาณงานฐานข้อมูลแบบไดนามิกที่ไม่ผูกกับดิสก์อย่างเต็มที่ปริมาณงานและการตอบสนองของ OKWS นั้นสูงกว่าApache , Flash (ราชาแห่งประสิทธิภาพเว็บเซิร์ฟเวอร์) และHaboob ( ระบบการศึกษาที่ขึ้นชื่อว่าเป็นเว็บเซิร์ฟเวอร์ Java ที่เร็วที่สุดบนบล็อก) ประสบการณ์เชิงพาณิชย์กับ OKWS แนะนำว่าระบบสามารถลดค่าใช้จ่ายด้านการจัดการฮาร์ดแวร์และระบบในขณะที่รับประกันความปลอดภัยในระบบปัจจุบัน

คัดลอกมาจากokws.org


1

จะมีมากขึ้นหรือน้อยกว่าที่สมบูรณ์อย่าลืมHiawatha การพัฒนาในส่วนนี้ค่อนข้างแอคทีฟและมีชุมชนที่เป็นมิตรและเป็นประโยชน์


0

เว็บเซิร์ฟเวอร์ที่ปลอดภัยและมีน้ำหนักเบาส่วนใหญ่ถูกกล่าวถึงแล้ว (เช่น publicfile, Nginx, Cherokee และอื่น ๆ ) หากไม่มีสิ่งใดที่ตรงกับความต้องการของคุณฉันคิดว่าคำแนะนำของฉันคือการโฮสต์ไฟล์คงที่ (สินทรัพย์) ของคุณไปยังAWS S3และCloudFrontและGoogle Sitesสำหรับหน้าเว็บของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.