2012-05-02 26 views
7

Tôi muốn có chương trình đơn giản trong python có thể xử lý các yêu cầu khác nhau (POST, GET, MULTIPART-FORMDATA). Tôi không muốn sử dụng một khung công tác hoàn chỉnh.Làm thế nào để chạy nginx + python (không có django)

Tôi về cơ bản cần có khả năng nhận các tham số GET và POST - có thể (nhưng không nhất thiết) theo cách tương tự như PHP. Để nhận một số biến SERVER khác như REQUEST_URI, QUERY, v.v.

Tôi đã cài đặt thành công nginx, nhưng tôi đã thất bại trong việc tìm một ví dụ tốt về cách thực hiện phần còn lại. Vì vậy, một hướng dẫn đơn giản hoặc bất kỳ hướng dẫn và ý tưởng về cách thiết lập nginx để chạy một số quy trình python cho một số máy chủ ảo sẽ được chào đón nhiều nhất!

+0

Bạn đã xem bình chưa? Khung siêu nhẹ để xây dựng các ứng dụng web – tkone

+0

Tôi không cần một webapp, chỉ là một chương trình đơn giản xử lý yêu cầu đơn giản. – ddinchev

+1

Đó là khá nhiều bình là gì. Đó là một giao diện cho một máy chủ wsgi (werkzeug) và có một số hệ thống templating bạn có thể bỏ qua. – tkone

Trả lời

4

Bạn nên xem xét sử dụng Flask - giao diện cực kỳ nhẹ với máy chủ WSGI (werkzeug), bao gồm thư viện templating, nếu bạn muốn sử dụng. Nhưng bạn hoàn toàn có thể bỏ qua nó nếu bạn muốn.

+0

Wow, Flask trông tuyệt vời! Chính xác những gì tôi đang tìm kiếm :) – Bavell

8

Mặc dù bạn có thể làm cho Python tự chạy một máy chủ web với wsgiref, tôi khuyên bạn nên sử dụng một trong số many Python webservers xung quanh.

Trong trường hợp của Nginx tôi sẽ xem xét Gunicorn hoặc uWSGI.

+0

Cảm ơn bạn, đây là gợi ý tốt. – ddinchev

+0

+1 cho liên kết điểm chuẩn. – jpmc26

0

Tất cả cùng bạn phải sử dụng máy chủ wsgi, vì nginx không hỗ trợ đầy đủ giao thức này.

1

Bạn có thể sử dụng thttpd. Nó là một máy chủ wsgi nhẹ để chạy các script cgi. Nó hoạt động tốt với nginx. Làm thế nào để thiết lập thttpd với Nginx được chi tiết ở đây: http://nginxlibrary.com/running-cgi-scripts-using-thttpd/

+0

Giải pháp tuyệt vời :) Tuy nhiên, nên sử dụng cgi nói chung không thực sự là một kế hoạch tốt, với cgi bạn phải bắt đầu một quy trình mới cho mọi yêu cầu khá chậm so với quá trình chạy và cho phép xử lý nhiều yêu cầu . – Wolph

Các vấn đề liên quan