How does Elastic Beanstalk work behind the scenes for Django?
<p>For running django applications locally I can do </p>

<pre><code>django-admin startproject djangotest
python djangotest/manage.py runserver
</code></pre>

<p>and the sample webpage shows up at <a href="http://127.0.0.1:8000/" rel="nofollow">http://127.0.0.1:8000/</a></p>

<p>However, when I deploy this to EB with </p>

<pre><code>eb deploy
</code></pre>

<p>It just magically works. My question is does EB runs the command <code>python djangotest/manage.py runserver</code> on the EC2 server after <code>eb deploy</code> by default? What are the list of commands that EB executes to get the webpage working? What if I want it to run with different flags like <code>python djangotest/manage.py runserver --nostatic</code> is that possible?</p>

<p>It doesn't just magically work. You have to configure Django for Elastic Beanstalk, as described in <a href="http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html#python-django-configure-for-eb" rel="nofollow">the EB documentation</a>: you provide a configuration file which points to the WSGI module.</p>

<p>In any case, it wouldn't use runserver, as the development server is absolutely not for production use.</p>

python django amazon-web-services amazon-ec2 elastic-beanstalk