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