Hieronder de playbook.yml voor de nginx-server.
---
- hosts: ubuntu-server
tasks:
- name: ensure nginx is at the latest version
apt: name=nginx state=latest
become: yes
- name: start nginx
service:
name: nginx
state: started
become: yes
- name: copy the nginx config file and restart nginx
copy:
src: static-site.cfg
dest: /etc/nginx/sites-available/static_site.cfg
become: yes
- name: create symlink
file:
src: /etc/nginx/sites-available/static_site.cfg
dest: /etc/nginx/sites-enabled/default
state: link
become: yes
- name: copy the content of the web site
copy:
src: "static-site/"
dest: "/home/student/static-site"
- name: restart nginx
service:
name: nginx
state: restarted
become: yes
- name: "UFW - Allow HTTP on port 80"
ufw:
rule: allow
port: "80"
proto: tcp
become: yes
Zorg dat dit configuratie bestand in dezelfde directory zit met de naam static-site.cfg
server {
listen 80 default_server;
listen [::]:80 default_server;
root /home/student/static-site;
index index.html index.htm;
server_name noorderpoort;
location / {
try_files $uri $uri/ =404;
}
}
In de directory van de playbook maar je een directory met de naam static-site, hierin plaats je de index.html en eventueel een afbeelding. Zorg dat de verwijzingen in je playbook overeenkomen met wat in jouw directory staat. Naamgevingen zijn hier een voorbeeld, maar kijk goed dat dit overeenkomt.
Na het deployen van je playbook zou je nginx-website beschikbaar moeten zijn op het IP-adres.
