質問: Djangoで作成したwebアプリを、本番サーバにデプロイする前に、同じVirtual Box上で動いているUbuntu Serverで試してみたいと考えています。 まず、UbuntuServerにnginx、gunicornをインストールしました。 そして、 sudo nginx -t を実行すると、 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful と表示されました。 そして、 sudo /etc/init.d/nginx restart を実行すると、 *restarting nginx nginx 【OK】 と表示されました。 次に、 Djangoのsettings.pyのINSTALLED_APPSにgunicornを追加しました。 そのうえで、 python manage.py run_gunicorn を実行すると、下記のエラーが生じます。 ImportError: No module named validation [Info]Worker exiting (pid:32024) [Info]Shutting down: Master [Info]Reason Worker failed to boot なお、 python manage.py runserver 0.0.0.0:8000 を実行した時は、 ローカル環境から http://192.168.100.103:8000/というURLでアクセス可能で、しっかり動いたので、 Django自体はうまく動いていると思います。 どこを直したらよいかお分かりの方、よろしくお願いいたします。
回答: python manage.py run_gunicorn ではなく、 gunicorn {{ project_name }}.wsgi:application で実行するとどうでしょうか? 自分の場合、 python manage.py run_gunicorn でやると、 !!! !!! WARNING: This command is deprecated. !!! !!! You should now run your application with the WSGI interface !!! installed with your project. Ex.: !!! !!! gunicorn myproject.wsgi:application !!! !!! See https://docs.djangoproject.com/en/1.5/howto/deployment/wsgi/gunicorn/ !!! for more info. !!! ... ※意訳(run_gnicornは使えません。unicorn myproject.wsgi:applicationを使ってください。) とエラーが出たので、 gunicorn {{ project_name }}.wsgi:application で実行するとうまくいきました。