Đề xuất một máy chủ web Linux an toàn, nhanh nhẹn, nhanh nhẹn để phục vụ nội dung tĩnh [đã đóng]


14

Danh sách các yêu cầu phải có:

  • có thể phân phát các trang và tệp HTML tĩnh (hình ảnh, lưu trữ nén, tệp văn bản ASCII, v.v.) qua HTTP.
  • Hãy bảo thủ tài nguyên . Nó sử dụng những gì cần thiết để gửi dữ liệu qua mạng dưới dạng bộ nhớ và CPU, và không nhiều hơn thế.
  • có một dấu chân cài đặt nhỏ.
  • chỉ sử dụng càng nhiều băng thông mạng là cần thiết.
  • được trưởng thành .
  • được dễ dàng để cấu hình.
  • được biên dịch thành mã riêng. Không có Python hay Java, v.v.

Những gì tôi không cần:

  • Tùy chọn cấu hình phức tạp. Nếu cần sau này, tôi sẽ chuyển sang Apache httpd.
  • Hỗ trợ để chạy CGI, Perl, PHP, Java, Bao gồm phía máy chủ hoặc các "tính năng bổ sung" khác.

Có gợi ý nào không?


9
Tôi sẽ đặt tên cho nó là Lightningfastlowonfeaturessecurewebserverforlinux. Không chắc chắn nếu tên đó sẽ bắt trên mặc dù.
Đaminh Rodger

Tôi nghĩ rằng họ cũng nghĩ về điều đó, nhưng họ đã giải quyết bằng 'nginx'.

Bạn luôn có thể sử dụng python: "python -m SimpleHTTPServer" này sẽ lưu trữ thư mục hiện tại trên cổng 8000.
Gert M

Câu trả lời:




8

Có rất nhiều nhưng cá nhân tôi thích Cherokee. Nó tương đối mới nhưng cũng rất đơn giản để cấu hình với gui web tích hợp.


nó vẫn còn hiệu lực chứ?
BigSack

8

Có thể tôi sẽ bị hạ cấp vì các giải pháp này không được biên dịch thành mã gốc theo danh sách "phải có" của câu hỏi, nhưng đối với nội dung tĩnh, việc này không dễ dàng hơn nhiều so với chia sẻ thư mục hiện tại với một lớp lót Python:

python -m SimpleHTTPServer 9914

Lưu ý rằng cổng 9914 là tùy ý và chỉ đơn giản là ví dụ được sử dụng khi tôi tìm thấy giải pháp này: http://linux.byexamples.com/archives/506/python-simple-http-server-for-file-shaming

Đương nhiên, bạn cũng có thể làm điều này với Perl:

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

. . . như được mô tả tại http://search.cpan.org/~ingy/IO- ALL-39 / lib / OB / ALL.pod # A_Tiny_Web_Server


Với việc sử dụng Python-3$ python -m http.server 8000
webwurst

5

Máy chủ chính xác như những gì bạn mô tả:

  • kHTTPd - trong kernel, máy chủ rất đơn giản. Chỉ các tệp tĩnh.

Máy chủ nhanh, cũng có thể phục vụ các trang động nếu cần:

  • LigHTTPd - máy chủ được làm bằng chứng về khái niệm để giải quyết vấn đề C10K.
  • nginx - rất phổ biến, thường được sử dụng để phát trực tuyến hoặc làm proxy ngược.

4

Một số bình luận đã đề cập đến lighttpd. Một lựa chọn khác là thttpd.


1
Có vẻ tốt, đó là những gì Wile E Coyote sử dụng? ;)

Đây có còn sống không? Bản phát hành cuối cùng là vào ngày 03 tháng 12 và kho lưu trữ danh sách gửi thư dừng lại vào tháng 5 ngày 08
JonDrnek

4

Nhanh chóng, an toàn, hiệu quả, tính năng thấp: công khai của Dan Bernstein.


Chúng tôi sử dụng publicfile ở một số nơi, bao gồm các tác vụ đơn giản như phân phối tệp cấu hình WPAD nội bộ. Rất nhanh, rất đơn giản, luôn hoạt động.
mikebabcock

3

hoặc kHTTPd - máy chủ được tích hợp trong kernel linux?


Điều đầu tiên xuất hiện trong tâm trí của tôi. Tôi đã không sử dụng nó, nhưng tôi đã thấy tùy chọn ở đó mỗi khi tôi định cấu hình kernel.

BTW, từ trang web, "Kể từ kernel 2.3,14, kHTTPd được tích hợp vào kernel." Vì vậy, nó đã được xung quanh khối một vài lần.

5
Tuy nhiên, kể từ kernel 2.6, nó không được tích hợp vào kernel nữa.
MarkR

3

Tôi sẽ đi với Cherokee ở đây. Ngoài ra, tôi sẽ quên Apache. Tất cả chúng ta đều lớn lên, yêu thích, sử dụng apache, vui vẻ với nó và mysql. Tất cả chúng ta đều có những kỷ niệm tuyệt vời, và tất cả chúng ta đều biết cách sử dụng nó. :)

Tuy nhiên, đó là quá khứ, nhuốm màu kính hồng. Sử dụng bộ nhớ ass chất béo, quá trình chất béo, tập tin cấu hình phức tạp, trình thông dịch nhúng .. feh. Trong thời đại ngày nay của VPS, không ai cần đến apache ass béo nữa. Yêu những kỷ niệm, nhưng tiết kiệm RAM cho ứng dụng của bạn.


2

Tôi đã sử dụng mathopd trong 2 năm qua để phục vụ nội dung tĩnh [kết hợp hình ảnh trên một số trang web thương mại điện tử + vài lượt tải xuống lớn]. không đau đầu - dễ cấu hình, chỉ hoạt động và để cpu bên cạnh không hoạt động.


2

Tôi đã có kết quả tuyệt vời trong nhiều năm với thoggd , thường xuyên phục vụ hơn 250 yêu cầu mỗi giây (và được tính trung bình trong suốt một giờ) và có tới 400 yêu cầu tương tự. Việc sử dụng bộ nhớ thấp, độ ổn định cực kỳ cao và tải hệ thống gần như không có gì, ngay cả ở mức tải req / giây cao.

Bill the Cat của Bloom County, giải thích cách phát âm thttpd .


1

Bạn có thể muốn xem http://www.lighttpd.net/. Không chắc chắn nếu nó là quá mức cho các yêu cầu của bạn.


1

Có một máy chủ web thương mại tên là Zeus được sử dụng khá rộng rãi trong các ngành công nghiệp nội dung được đặc trưng bởi nội dung tĩnh khối lượng lớn. IIRC nó dựa trên async. I / O, rất hiệu quả trên CPU. Nó có thể làm những gì bạn muốn, nhưng nó không miễn phí.


1

Bạn có thể thử okws .

OKWS là một máy chủ Web, chuyên xây dựng các dịch vụ Web nhanh và an toàn. Nó cung cấp cho các nhà phát triển Web một bộ công cụ nhỏ đủ mạnh để xây dựng các hệ thống phức tạp với nỗ lực hạn chế. Mặc dù chú trọng đến bảo mật, OKWS cho thấy lợi thế về hiệu suất so với các đối thủ cạnh tranh phổ biến: khi phục vụ khối lượng công việc cơ sở dữ liệu không bị ràng buộc hoàn toàn động, thông lượng và khả năng đáp ứng của OKWS vượt trội so với Apache , Flash (vua trị vì hiệu năng của máy chủ Web) và Haboob ( một hệ thống học thuật được coi là máy chủ Web Java nhanh nhất trong khối). Kinh nghiệm thương mại với OKWS cho thấy hệ thống có thể giảm chi phí quản lý phần cứng và hệ thống, đồng thời cung cấp đảm bảo an ninh vắng mặt trong các hệ thống hiện tại.

sao chép từ okws.org


1

Để được hoàn thiện ít nhiều, đừng quên Hiawatha . Sự phát triển trên cái này khá tích cực và nó có một cộng đồng thân thiện và hữu ích.


0

Hầu hết các máy chủ web an toàn và nhẹ đã được đề cập (ví dụ: publicfile, Nginx, Cherokee, v.v.). Nếu không ai trong số đó đáp ứng yêu cầu của bạn, tôi nghĩ đề xuất của tôi là lưu trữ các tệp tĩnh (tài sản) của bạn cho AWS S3CloudFrontGoogle Site cho các trang web của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.