From cac2e68bf656f3efa4854e0f1f04cc3e3b879327 Mon Sep 17 00:00:00 2001 From: Lorin Hochstein Date: Fri, 6 Feb 2015 21:52:16 -0500 Subject: [PATCH] Modified vagrantfile and missing templates --- ch06/playbooks/Vagrantfile | 3 +- ch06/playbooks/templates/gunicorn.conf.py.j2 | 7 +++ ch06/playbooks/templates/nginx.conf.j2 | 51 ++++++++++++++++++++ ch06/playbooks/templates/supervisor.conf.j2 | 11 +++++ 4 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 ch06/playbooks/templates/gunicorn.conf.py.j2 create mode 100644 ch06/playbooks/templates/nginx.conf.j2 create mode 100644 ch06/playbooks/templates/supervisor.conf.j2 diff --git a/ch06/playbooks/Vagrantfile b/ch06/playbooks/Vagrantfile index ec7e77b..3ed3d2d 100644 --- a/ch06/playbooks/Vagrantfile +++ b/ch06/playbooks/Vagrantfile @@ -2,6 +2,5 @@ VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "ubuntu/trusty64" - config.vm.network "forwarded_port", guest: 80, host: 8080 - config.vm.network "forwarded_port", guest: 443, host: 8443 + config.vm.network "private_network", ip: "192.168.33.10" end diff --git a/ch06/playbooks/templates/gunicorn.conf.py.j2 b/ch06/playbooks/templates/gunicorn.conf.py.j2 new file mode 100644 index 0000000..7a3d665 --- /dev/null +++ b/ch06/playbooks/templates/gunicorn.conf.py.j2 @@ -0,0 +1,7 @@ +from __future__ import unicode_literals +import multiprocessing + +bind = "127.0.0.1:{{ gunicorn_port }}" +workers = multiprocessing.cpu_count() * 2 + 1 +loglevel = "error" +proc_name = "{{ proj_name }}" diff --git a/ch06/playbooks/templates/nginx.conf.j2 b/ch06/playbooks/templates/nginx.conf.j2 new file mode 100644 index 0000000..0603417 --- /dev/null +++ b/ch06/playbooks/templates/nginx.conf.j2 @@ -0,0 +1,51 @@ +upstream {{ proj_name }} { + server 127.0.0.1:{{ gunicorn_port }}; +} + +server { + + listen 80; + + {% if ssl_enabled %} + listen 443 ssl; + {% endif %} + server_name {{ domains|join(", ") }}; + client_max_body_size 10M; + keepalive_timeout 15; + + {% if ssl_enabled %} + ssl_certificate conf/{{ proj_name }}.crt; + ssl_certificate_key conf/{{ proj_name }}.key; + ssl_session_cache shared:SSL:10m; + ssl_session_timeout 10m; + ssl_ciphers CDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA; + ssl_prefer_server_ciphers on; + {% endif %} + + location / { + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Protocol $scheme; + proxy_pass http://{{ proj_name }}; + } + + location /static/ { + root {{ proj_path }}; + access_log off; + log_not_found off; + } + + location /robots.txt { + root {{ proj_path }}/static; + access_log off; + log_not_found off; + } + + location /favicon.ico { + root {{ proj_path }}/static/img; + access_log off; + log_not_found off; + } +} diff --git a/ch06/playbooks/templates/supervisor.conf.j2 b/ch06/playbooks/templates/supervisor.conf.j2 new file mode 100644 index 0000000..44574f6 --- /dev/null +++ b/ch06/playbooks/templates/supervisor.conf.j2 @@ -0,0 +1,11 @@ +[group: {{proj_name}}] +programs=gunicorn_{{ proj_name }} + +[program:gunicorn_{{ proj_name }}] +command={{ venv_path }}/bin/gunicorn_django -c gunicorn.conf.py -p gunicorn.pid +directory={{ proj_path }} +user={{ user }} +autostart=true +autorestart=true +redirect_stderr=true +environment=LANG="{{ locale }}",LC_ALL="{{ locale }}",LC_LANG="{{ locale }}" -- 2.44.0