2016-08-17 12 views
-1

私は別の部門のBadgrサーバーに取り組んでいます。 Python 2.7とdjangoを使ってビルドしました。 Djangoはdevウェブサイトでのみ使用されていると聞いています。Djangoの制作版ですか?

私はこのプロジェクトを本番環境向けのものに変換して変換したいと考えています。しかし、私は本当にどのように進むべきかわかりません。申し訳ありませんが、これは本当にnoobの質問であれば、私はシステム管理者ではなく、開発者です。

(ENV)[ルートの@ badgrコード]#./manage.pyのrunserver & システムチェックを実行...

システムチェックには問題(0サイレンシング)を同定していません。 0816年8月8日 - 16:31:48 Djangoバージョン1.7.1、設定 'mainsite.settings'を使用 #####で開発サーバーを起動// 127.0.0.1:8000/ CONTROL- C.

しかし、私は// myserverの#####に行くとき、それに接続するように見えることはできません:8000、

私はtcpdumpの中でそれを参照してくださいので、私は私のPCからのトラフィックがサーバーに当たっている知っています私はrunserverが外部のソースからのトラフィックをブロックすると言われました。なぜなら、それは開発者のためのものだからです。

私はApacheやGunicornに切り替えることをお勧めします。

Djangoのドキュメントから送信された指示は次のとおりです。https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/私は実際に何をすべきかの頭や尾を作ることはできませんが。どんな入力も感謝します。ありがとう

+2

"私が聞いたことから、Djangoはdevウェブサイトでのみ使用されています。"それは確かに真実ではありません:多くの主要なWebサイトがDjangoを実行します。 "Django runserverはdevウェブサイトでのみ使用されていました。 – TimB

+0

私はこの質問で理解できることから、あなたはDjangoアプリケーションを起動して正常に動作していますが、Webサーバーをインストールしたり実行しているようではありませんか? Apacheを使用していない場合は、どのようなWebサーバーを使用していますか? DjangoはWebサーバーではないので、サーバーにWebサーバーをインストールして、Djangoアプリケーションをポート80経由で提供する必要があります。ポートに接続していない理由8000にヒットしようとすると、実行サーバーのコンソールに表示される内容を追加できますか?そしておそらくtcpdumpも。 – ays0110

+0

また、0.0.0.0:8000でrunserverを試すことができますか? – ays0110

答えて

0

生産サーバーでDjangoプロジェクトを実行するには、gunicornとNginxを使用することをお勧めします。どちらも、公式のドキュメントやレシピのためにGoogleに簡単ですし、それらの組み合わせは、あなたのコードが遅くならない限り、最速のものの一つです。 (Nginx + uWSGIは良い選択肢ですが、初心者にとっては少し難しいです)。

Gunicornは、pip install unicornでインストールすることも、Djangoをインストールしたのと同じ方法でインストールすることもできます。次に、簡単なgunicorn yourproject.wsgiで起動します(その他の設定オプションについては、docsを参照してください)。

リバースプロキシモード用にNginx(インストールするにはディストリビューションのパッケージマネージャを使用する)を設定し、スタティック/メディアルート(静的ファイルを最新の状態に保つために使用する必要があります)日付)。基本的な原則を理解し、あなたの/etc/nginx/sites-enabled/yoursite.confのための一例として以外にこれを使用するためにドキュメントを読んで:

server { 
    listen 80 default; 
    server_name example.com; 
    root /path/to/project/root/static; 

    location /media { 
     alias /path/to/project/root/media; 
    } 

    location /static { 
     alias /path/to/project/root/static; 
    } 

    location /favicon.ico { 
     alias /path/to/project/root/static/favicon.ico; 
    } 

    location/{ 
     proxy_pass http://localhost:8000; 
     include  proxy_params; 
    } 
} 

ありますが、SSLまたはWWW /非WWWのリダイレクトが必要な場合は、それによります(両方が非常に設定することを推奨されている)が、この例はあなたが始めるのに十分であるはずです。

ガンコンを自動的に実行するには、スーパーバイザまたはシステムユニットシステムを使用することができます(systemdなど)。

注:これはすべてあなたがLinuxを使用していることを前提としています。いずれにしても、本番環境では何も使用しないでください。

このすべてを処理する方法を理解できないと思われる場合は専門家の助けを借りてください。多くのフリーランスのシステム管理者が妥当な料金でお手伝いします。

+0

ご回答いただきありがとうございます。提供された情報を使用します。 – Sesshoumaru

0

まず最初に、1.7.1ではなく、「長期サポート」版のDjangoを使用してください。現在のLTSリリースは1.8.14です。詳細はhttps://www.djangoproject.com/download/を参照してください。

あなたが与えたDjangoドキュメンテーションのリンクは、理解する必要がある部分の一部に過ぎません。実際には、そのページの最初のリンクはhttps://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/modwsgi/です。

+0

ありがとうございます、あなたのリンクを介してこれを調べています。 – Sesshoumaru

関連する問題