Add working configuration of nginx to use uwsgi parameters without replacing entire file.

This commit is contained in:
Dorian 2016-05-16 17:58:57 -04:00
parent 99bc5a4477
commit 703b322f23
8 changed files with 13 additions and 68 deletions

View File

@ -125,9 +125,6 @@ Internal Variables
The following variables are part of the internals of the role. However if you really want to, you can tweak them to The following variables are part of the internals of the role. However if you really want to, you can tweak them to
work with your setup: work with your setup:
- web_user:
- The non-root user who is allowed to control web + app servers on the target machine.
- Default: current user
- virtualenv_root_path: - virtualenv_root_path:
- The common root directory of Python virtual environments associated with running the - The common root directory of Python virtual environments associated with running the
UWSGI app + server. UWSGI app + server.

View File

@ -3,7 +3,3 @@
- name: restart uwsgi app - name: restart uwsgi app
supervisorctl: name={{ uwsgi_app_service_name }} state=restarted config=/etc/supervisor/supervisord.conf supervisorctl: name={{ uwsgi_app_service_name }} state=restarted config=/etc/supervisor/supervisord.conf
sudo: yes sudo: yes
- name: restart nginx
service: name=nginx state=restarted
sudo: yes

View File

@ -1,5 +1,4 @@
--- ---
# tasks file for ansible-nginx-uwsgi-supervisor # tasks file for ansible-nginx-uwsgi-supervisor
- include: nginx.yaml
- include: python.yaml - include: python.yaml
- include: uwsgi.yaml - include: uwsgi.yaml

View File

@ -1,37 +0,0 @@
---
- name: install nginx webserver
apt: pkg=nginx-full state=present
sudo: yes
- name: configure nginx
template: src=nginx/app_uwsgi_nginx.conf dest=/etc/nginx/sites-available/{{ nginx_app_config }}
sudo: yes
- name: link to enable nginx configuration
file: state=link
src=/etc/nginx/sites-available/{{ nginx_app_config }}
path=/etc/nginx/sites-enabled/{{ nginx_app_config }}
sudo: yes
- name: disable default configuration
file: state=absent path=/etc/nginx/sites-enabled/default
sudo: yes
notify: restart nginx
- name: set nginx directories permissions
file: path={{ item }} state=directory
group={{ web_server_group }} mode=0755
with_items:
- /var/log/nginx
- /etc/nginx
- /etc/nginx/sites-available
- /etc/nginx/sites-enabled
sudo: yes
- name: set nginx logs permissions
file: path=/var/log/nginx/{{ item }} state=file
owner={{ web_server_group }} group={{ web_server_group }} mode=0644
with_items:
- access.log
- error.log
sudo: yes

View File

@ -4,5 +4,17 @@
sudo: yes sudo: yes
- name: configure app on uwsgi server - name: configure app on uwsgi server
template: src=uwsgi/app_uwsgi.ini dest={{ uwsgi_config_path }}/{{ uwsgi_app_ini }} template: src=app_uwsgi.ini dest={{ uwsgi_config_path }}/{{ uwsgi_app_ini }}
sudo: yes sudo: yes
notify: restart uwsgi app
- name: configure nginx app with uwsgi specific block.
blockinfile:
dest: /etc/nginx/sites-available/{{ nginx_app_config }}
insertafter: "# Include your setup to connect to the webapp setup here."
marker: "# -- {mark} UWSGI App config for {{ app_name }} --"
block: |
include uwsgi_params;
uwsgi_pass 127.0.0.1:{{ app_uwsgi_port }};
sudo: yes
notify: restart nginx

View File

@ -1,18 +0,0 @@
server {
server_name {{ app_nginx_hostname }};
access_log {{ web_root_path }}/logs/nginx/{{ app_name }}-access.log;
error_log {{ web_root_path }}/logs/nginx/{{ app_name }}-error.log info;
location /static/ {
alias {{ app_nginx_static_path }};
}
location / {
try_files $uri @yourapplication;
}
location @yourapplication {
include uwsgi_params;
uwsgi_pass 127.0.0.1:{{ app_uwsgi_port }};
}
}

View File

@ -1,13 +1,9 @@
--- ---
# vars file for ansible-nginx-uwsgi-supervisor # vars file for ansible-nginx-uwsgi-supervisor
# User
web_user: "{{ ansible_env.SUDO_USER }}"
# NGINX # NGINX
nginx_app_config: "{{ app_name }}_uwsgi_nginx.conf" nginx_app_config: "{{ app_name }}_uwsgi_nginx.conf"
# UWSGI # UWSGI
uwsgi_venv: "{{ virtualenv_root_path }}/uwsgi" uwsgi_venv: "{{ virtualenv_root_path }}/uwsgi"
uwsgi_config_path: "{{ web_root_path }}/config/uwsgi" uwsgi_config_path: "{{ web_root_path }}/config/uwsgi"