First public version
parent
78569d4ca2
commit
bf0fe49b4b
|
@ -1,3 +1,5 @@
|
||||||
# nginx
|
# Nginx ansible role
|
||||||
|
Simple template-based (no lengthy configuration vars) role.
|
||||||
|
|
||||||
Ansible role for nginx
|
### Variables
|
||||||
|
See `defaults/main.yml`
|
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
# List of configs to deploy from <templates_dir>/nginx/vhosts
|
||||||
|
nginx_vhosts: []
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: nginx | Check new config
|
||||||
|
shell: nginx -t
|
||||||
|
listen: nginx | Config changed
|
||||||
|
|
||||||
|
- name: nginx | Reload
|
||||||
|
systemd:
|
||||||
|
name: nginx
|
||||||
|
state: reloaded
|
||||||
|
listen: nginx | Config changed
|
|
@ -0,0 +1,64 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: nginx | Install packages
|
||||||
|
pacman:
|
||||||
|
name:
|
||||||
|
- nginx-mainline
|
||||||
|
- mailcap
|
||||||
|
state: present
|
||||||
|
update_cache: yes
|
||||||
|
|
||||||
|
- name: nginx | Remove stupid apache-style dirs
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: absent
|
||||||
|
with_items:
|
||||||
|
- /etc/nginx/sites-available
|
||||||
|
- /etc/nginx/sites-enabled
|
||||||
|
|
||||||
|
- name: nginx | Add vhosts directory
|
||||||
|
file:
|
||||||
|
path: /etc/nginx/vhosts
|
||||||
|
state: directory
|
||||||
|
mode: 0700
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
|
||||||
|
- name: nginx | Deploy main config
|
||||||
|
template:
|
||||||
|
src: nginx.conf.j2
|
||||||
|
dest: /etc/nginx/nginx.conf
|
||||||
|
mode: 0600
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
notify: nginx | Config changed
|
||||||
|
|
||||||
|
- name: nginx | Deploy vhosts configs
|
||||||
|
template:
|
||||||
|
src: nginx/vhosts/{{ item }}
|
||||||
|
dest: /etc/nginx/vhosts/{{ item }}
|
||||||
|
mode: 0600
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
with_items: "{{ nginx_vhosts }}"
|
||||||
|
notify: nginx | Config changed
|
||||||
|
|
||||||
|
- name: nginx | Get file list in config dir
|
||||||
|
find:
|
||||||
|
path: /etc/nginx/vhosts
|
||||||
|
hidden: yes
|
||||||
|
register: nginx_vhosts_find
|
||||||
|
|
||||||
|
- name: nginx | Remove unmanaged shit
|
||||||
|
file:
|
||||||
|
path: "/etc/nginx/vhosts/{{ item.path | basename }}"
|
||||||
|
state: absent
|
||||||
|
with_items:
|
||||||
|
- "{{ nginx_vhosts_find.files }}"
|
||||||
|
when: (item.path | basename) not in nginx_vhosts
|
||||||
|
|
||||||
|
- name: nginx | Enable and start nginx
|
||||||
|
systemd:
|
||||||
|
name: nginx
|
||||||
|
enabled: yes
|
||||||
|
state: started
|
|
@ -0,0 +1,36 @@
|
||||||
|
# {{ ansible_managed }}
|
||||||
|
user http;
|
||||||
|
worker_processes auto;
|
||||||
|
|
||||||
|
error_log /var/log/nginx/error.log;
|
||||||
|
#error_log logs/error.log notice;
|
||||||
|
#error_log logs/error.log info;
|
||||||
|
|
||||||
|
# Specified in systemd unit file
|
||||||
|
#pid /run/nginx.pid;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 512;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
include mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
|
||||||
|
sendfile on;
|
||||||
|
tcp_nopush on;
|
||||||
|
keepalive_timeout 65;
|
||||||
|
gzip on;
|
||||||
|
|
||||||
|
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||||
|
'$status $body_bytes_sent "$http_referer" '
|
||||||
|
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||||
|
|
||||||
|
access_log /var/log/nginx/access.log main;
|
||||||
|
|
||||||
|
types_hash_bucket_size 128;
|
||||||
|
|
||||||
|
client_max_body_size 512m;
|
||||||
|
|
||||||
|
include vhosts/*.conf;
|
||||||
|
}
|
Loading…
Reference in New Issue