2017-07-18 9 views
3

私はAWS Ubuntuマシンでdjangoを実行しています。 SSHを通して、私は8000ポートでサーバを起動します。しかし、私はsshのウィンドウを閉じると、サーバーが停止し、私はURLを介してアクセスすることはできません。私が望むのは、サーバが起動したら、いつもサーバを起動することです。それについてどうやって行くの?ありがとう。AWSでDjango Python Serverを実行

+2

にあなたは、[ジャンゴを展開](https://docs.djangoproject.com/en/1.11/howto/deployment/)Apacheやnginxのようなサーバーを使用する必要があります。これはStack Overflowに関する広すぎる質問です。 – Alasdair

答えて

3

ApacheまたはNginxを使用してDjango Appをデプロイできます。 Nginxを使用する場合は、まずサーバにNginxをインストールし、Nginxの設定にDjangoの設定を追加してください。これはgood guideとして追跡できます。

1

これは、アプリケーションを実行するbashスクリプト(実行するのと同じコマンドを実行するだけ)を作成し、nohupでbashスクリプトを実行することで、シェルからプロセスを切り離しますあなたのセッションを閉じるときに、アプリケーションが実行を継続することができます:

nohup ./my_bash_script.sh & 

あなたは、それを正しく行うサービスファイルを作成し、サービスとしてアプリケーションを実行する場合。

[Unit] 
Description=My Django app 
After=network.target 

[Service] 
PIDFile=/run/DjangoApp/pid 
User=<your user> 
Group=<your group> 
WorkingDirectory=<working directory of your Django app> 
ExecStart=<path to your bash script> 
PrivateTmp=True 

[Install] 
WantedBy=multi-user.target 

/etc/systemd/system/djangoService.serviceの下にファイルを保存します。

sudo systemctl enable djangoService 

そして、このコマンドでそれを実行します:

sudo service start djangoService 

サービスを実行し続けますあなたは、このコマンドを使用してサービスを有効にします。しかし、適切なDjangoアプリケーションをサービスするには、応答を処理するためにGunicorn/wsgiを使用し、Nginxを使用してリクエストをプロキシにリバースさせることをお勧めします。

1

開発モードでは、Djangoにはテスト用に十分な開発用サーバーがあります。 Webアプリケーションを完成させて運用準備が整ったら、サーバーでアプリケーションを設定するプロセスは圧倒的かもしれません。特に、初めて行う場合は特にそうです。この記事では、mod_wsgiを使用してDjangoベースのWebアプリケーションをデプロイする方法を段階的に説明します。

Apacheサーバーでmod_wsgiを設定するには、この記事に従ってください。 enter link description here

開発用に設定しているのであれば、デーモンモードでサーバーを実行する必要があります。

Ubuntuの

run:>./manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 & 

>exit 
関連する問題