title: Gunicorn when use .conf file and when use python config file
body: <p>I am taking online course on web technologies and one of the most recent tasks is to launch python app on gunicorn server through nginx proxy on remote linux VM. </p>
  
  <p>Task description says: Configure Gunicorn so that it runs the /home/box/web/hello.py application and accepts connections on the 0.0.0.0:8080. (IP = 0.0.0.0 is required for testing). Put your config file here /home/box/etc/gunicorn.conf and connect it using the symbolic link /etc/gunicorn.d/test.</p>
  
  <p>I found the solution on the Internet (I understand, that cheating is bad) and gunicorn.conf file looks like this:</p>
  
  <pre><code>CONFIG = {
  'mode': 'wsgi',
  'working_dir': '/home/box/web',
  'python': '/usr/bin/python',
  'args': (
  '--bind=0.0.0.0:8080',
  '--workers=2',
  '--timeout=15',
  '--log-level=debug',
  'hello:application'
  )
  }
  </code></pre>
  
  <p>It seems that author of that solution borrowed it from <a href="https://scottlinux.com/2014/04/03/how-to-host-multiple-django-or-python-apps-on-the-same-host-with-nginx-and-gunicorn/" rel="nofollow noreferrer">here</a>. Gunicorn and nginx are supposed to run using following shell script:</p>
  
  <pre><code>sudo rm /etc/nginx/sites-enabled/default
  sudo ln -sf /home/box/web/etc/nginx.conf /etc/nginx/sites-enabled/test.conf
  sudo /etc/init.d/nginx restart
  sudo ln -sf /home/box/web/etc/gunicorn.conf /etc/gunicorn.d/test
  sudo /etc/init.d/gunicorn restart
  </code></pre>
  
  <p>I wonder where does that .conf file syntax described and why does not use gunicorn config file as described <a href="http://docs.gunicorn.org/en/stable/configure.html" rel="nofollow noreferrer">here</a> as I initially assumed. And what does all that stuff with symbolic links required for? Can I solve this task using python-style gunocrn config if I modify shell script. If so what are pros and cons of each way?</p>