Điểm:1

Việc cung cấp ứng dụng web Python Flask với IIS/Win Server (tại chỗ) có đáng để gặp rắc rối không?

lá cờ cn

Có một số tài nguyên (rất ít từ những gì tôi có thể nói) gợi ý rằng việc cung cấp ứng dụng web Python từ IIS là có thể thực hiện được, nhưng tôi chưa nghe hoặc đọc bất kỳ câu chuyện thực tế nào về điều này trong thực tế.

Tôi muốn biết liệu phương pháp này có đáng được xem xét trong một tổ chức gần như chỉ có một cửa hàng Windows hay không.

Việc nâng cao kỹ năng và đầu tư vào việc chạy Python từ một máy Ubuntu (có ít nhất một số kiến ​​​​thức trong tổ chức) có phải là một lựa chọn tốt hơn nhiều không?

Điều này là để triển khai tại chỗ trên máy ảo. Chạy Python trên dịch vụ đám mây rõ ràng là một câu chuyện hoàn toàn khác.

Michael Hampton avatar
lá cờ cz
Tôi chưa bao giờ nghe nói về các ứng dụng _production_ Python chạy sau IIS hoặc trên Windows về vấn đề đó, nhưng tôi cho rằng mọi thứ đều có thể xảy ra. Về mặt kỹ thuật, bạn chắc chắn có thể làm được; hơi khác so với việc ủy ​​quyền cho bất kỳ ứng dụng web nào khác.
mforsetti avatar
lá cờ tz
Thay vì ủy quyền (đảo ngược), IIS thực hiện [hỗ trợ WSGI](https://docs.microsoft.com/en-us/visualstudio/python/configure-web-apps-for-iis-windows?view=vs-2019) qua [`wfastcgi`](https://pypi.org/project/wfastcgi/); mặc dù sẽ có sự khác biệt khi sử dụng Python trong Windows so với *nix, đặc biệt nếu bạn bắt đầu sử dụng các mô-đun bên ngoài.
davidlars avatar
lá cờ cn
Cảm ơn, cách tiếp cận wfastcgi có vẻ đáng để xem xét. Hy vọng rằng việc sử dụng các mô-đun bên ngoài không trở thành vấn đề. Tải trên các ứng dụng này sẽ không quá tệ. Ứng dụng nội bộ cho một nhóm người dùng hạn chế. Chà, tôi đoán sẽ không hại gì khi thử. Chắc chắn có vẻ như là một thông lệ hiếm hoi với rất ít sự giúp đỡ ở bất cứ đâu nếu/khi mọi thứ đi xuống phía nam.
Điểm:3
lá cờ vn

Python trên IIS/Azure App Services (Windows) là một lựa chọn khá phổ biến (khi Azure vẫn còn được gọi là Windows Azure), cho các trang web sản xuất. Bạn có thể sử dụng HttpPlatformHandler hoặc wfastcgi để IIS chuyển tiếp lưu lượng truy cập tới các quy trình Python.

Tuy nhiên, những thách thức thực sự đến từ thực tế là các khung/ứng dụng web Python thường không được phát triển/thử nghiệm tốt trên Windows, vì vậy nếu có bất kỳ lỗi nào xảy ra, bạn gần như chắc chắn là cơ sở người dùng thiểu số mà nhiều nhà cung cấp khung/ứng dụng bỏ qua.

Ngay cả Microsoft cũng quyết định từ bỏ các nỗ lực của mình đối với Python trên IIS/Windows và kêu gọi khách hàng của mình chuyển sang Azure App Services (Linux),

Quan trọng

Microsoft đã ngừng sử dụng tiện ích mở rộng Python cho Dịch vụ ứng dụng trên Windows như được mô tả trong bài viết này có lợi cho việc triển khai trực tiếp đến Dịch vụ ứng dụng trên Linux.

https://docs.microsoft.com/en-us/visualstudio/python/managing-python-on-azure-app-service?view=vs-2019

Vì vậy, con đường để đi không khó để nhìn thấy.

Đối với tại chỗ, bạn có thể sử dụng Windows Server để lưu trữ máy ảo Linux (Hyper-V) hoặc sử dụng bộ chứa Linux Docker hoặc sử dụng trực tiếp hộp máy chủ Linux. Ngay cả những khách hàng tập trung vào Windows nhất mà tôi đã làm việc cùng cũng có một số bộ chứa Linux Docker đang chạy ngày hôm nay.

Lưu ý rằng điều này không chỉ áp dụng cho các ứng dụng web Python. Các ứng dụng web PHP/Go/Java/Node.js cũng phải đối mặt với những thách thức tương tự, vì vậy tốt hơn là nên lưu trữ chúng trên Linux.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.