0

私は EC2 を使い始めたばかりで、ローカル マシンで開始した git リポジトリをプルダウンしたので、そこからサーバーを実行しても動作することがわかっています。 EC2 インスタンスを実行していますが、何らかの理由で、そのインスタンスのエラスティック IP アドレスにアクセスすると、ページが見つかりません。その理由について何か考えはありますか?

そこで、nginx の使用を開始し、 https ://code.djangoproject.com/wiki/DjangoAndNginx の手順に従って conf ファイルを作成しました。

server {
        listen 80;
        server_name ec2-54-242-149-154.compute-1.amazonaws.com;
        access_log /var/log/nginx/USBag.access.log;
        error_log /var/log/nginx/USBag.error.log;

        location /basicMap/ {
                alias /home/www/ec2-54-242-149-154.compute-1.amazonaws.com/basicMap/;
                expires 30d;
        }

        location / {
                include fastcgi_params;
                fastcgi_pass 127.0.0.1:8080;
        }
}

basicMap は、django アプリで既に定義した場所であり、リンクされた ec2 ip は、サーバーが実行されている場所です。続行する方法や、conf ファイルが正しいかどうかを判断する方法に関するドキュメントを見つけるのに非常に苦労しています。ただし、標準の python manage.py runserver を使用しても機能しません。進め方についてアドバイスはありますか?

4

1 に答える 1

0

本番環境のdjangoサーバーのセットアップについては多くの情報があります。個人的な好みを以下に示しますが、その前に、本番サーバーから応答が得られるかどうかをバックアップして確認しましょう。

EC2インスタンスで開発サーバーを起動するには、次のコマンドを実行します。

manage.py runserver 0.0.0.0:8000

このコマンドにより、runserverはすべてのインターフェースにバインドされ、ファイルを外部に提供します。開発以外でこれを行うことは決してありませんが、複雑にする前にdjangoアプリがセットアップされているかどうかをテストするだけの良い方法です。次に、EC2インスタンスをヒットして、応答が得られるかどうかを確認してください。

それでも機能しない場合は、サーバーのポートへの着信接続を許可していることを確認してください(上記のコマンドでは8000、ライブでは80)。netcat(nc -l)を使用して、ポートが開いていることをテストできます。

アプリのセットアップに満足したら、本番環境でフロントエンドWebサーバーとしてnginxを使用し、djangoWebサーバーとしてgunicornを使用することをお勧めします。実稼働セットアップ用にvirtualenv、supervisordなどのセットアップを検討することをお勧めします(チュートリアルは次のとおりです:http ://senko.net/en/django-nginx-gunicorn/ )が、それはすべて詳細によって異なりますあなたのプロジェクトの。

于 2013-02-06T05:32:59.403 に答える