0

EC2インスタンスにdjangoをインストールしています。

しかし、この簡単なテストを実行する前に、Webコマンドラインツールを使用してインスタンスにファイルを作成しました。

hello.py:

#!/usr/bin/python2.6
print "Content-Type: text/html" 
print 
print """\ 
<html> 
<body> 
<h2>Hello World!</h2> 
</body> 
</html>
"""

実行する権限を変更し、

しかし、私が自分のページに行くとき

http://ec2-107-20-20-19.compute-1.amazonaws.com/hole.py

実際のHTMLではなく、コードと同じように見えますが、

しかし、私が他のサーバーでそれを行う場合、私は実際に彼女にHello World!メッセージを送ります

では、Pythonファイルを表示できるようにするためにEC2インスタンスに何が欠けていますか?

cgiフォルダはどこにありますか?ルートフォルダに作成する方法は?

ありがとう!

4

1 に答える 1

2

Python Webアプリケーションを提供するには、 Apache 2またはGunicornでmod_wsgiを使用するか、 Nginx(または別のWebサーバー)でuWSGIを使用する必要があります。Webサーバーのドキュメントルート内のどこかにファイルを配置するだけでは、Webサーバーはそれがスクリプトであることも、その実行方法も認識しないため(CGIを適切に構成しない限り)、目的の処理を実行できません。.py

WSGIには、CGIに比べて多くの利点があります。アプリケーションコードは、Webリクエストごとに再ロードされるのではなく、一度ロードされて再利用されます。Webサーバーとは別のユーザーとして実行できるため、セキュリティの問題を回避できます。多くのPythonコードとフレームワーク(Djangoを含む)からのフレームワークサポートがあります。等

WSGIデプロイメント用にDjangoアプリケーションを構成する方法の詳細については、Djangoデプロイメントのドキュメントを参照してください。

于 2012-04-05T12:53:44.253 に答える