Created
October 29, 2017 13:54
-
-
Save icasimpan/803955c7d43e847ce12ff9422c1cbbc4 to your computer and use it in GitHub Desktop.
Sample ansible playbook to install nginx with sample page on CentOS7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Credits to John Lieske - https://www.ansible.com/blog/getting-started-writing-your-first-playbook | |
--- | |
- name: Install nginx | |
hosts: host.name.ip | |
become: true | |
tasks: | |
- name: Add epel-release repo | |
yum: | |
name: epel-release | |
state: present | |
- name: Install nginx | |
yum: | |
name: nginx | |
state: present | |
- name: Insert Index Page | |
template: | |
src: index.html | |
dest: /usr/share/nginx/html/index.html | |
- name: Start NGiNX | |
service: | |
name: nginx | |
state: started |
Can we have the ubuntu version
thanks is works
Hi, what should i change in the playbook to modify HTTP listening port to 8080 ?
Hi, what should i change in the playbook to modify HTTP listening port to 8080 ?
Nothing.
However you must change the template files the playbook is referring to.
@Saviour
For Ubuntu. just change the yum to apt
what if we want to run on multiple inventory
Thank you very much
to start nginx automatically after restarting the server I think we need the folowing:
- name: Start NGiNX service: name: nginx enabled: yes state: started
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks for this tutorials, its really very helpful, now I want complete nginx playbook with mange the all sites. Like: site-available, site-enabled. i mentioned in below example file for Ubuntu, but i need it for CentOS-7.
Example:-
name: Set up nginx config directory
file: path=/etc/nginx/{{ item }}
state=directory
with_items:
- sites-available
- sites-enabled
name: Generate the nginx configuration file
copy: src=files/nginx.conf
dest=/etc/nginx/nginx.conf
name: Deactivate the default nginx site
file: path=/etc/nginx/sites-enabled/default
state=absent
name: Generate the stub_status site config
copy: src=files/nginx.status.conf
dest=/etc/nginx/sites-available/status
name: Activate the stub_status site
file: src=/etc/nginx/sites-available/status
dest=/etc/nginx/sites-enabled/status
state=link
name: Add site for the app under development
when: app is defined
template: src=templates/nginx.site.conf.j2
dest=/etc/nginx/sites-available/site
name: Activate the app
when: app is defined
file: src=/etc/nginx/sites-available/site
dest=/etc/nginx/sites-enabled/site
state=link
name: Configure log rotation
copy: src=files/nginx.logrotate
dest=/etc/logrotate.d/nginx
name: Copy nginx init script
sudo: yes
copy: src=files/nginx.upstart
dest=/etc/init/nginx.conf
mode=755
- name: Add ufw rule
sudo: yes
command: iptables allow 80,443/tcp
# Note: ufw isn't enabled at this point
service:
name: nginx
state: started