上QQ阅读APP看书,第一时间看更新
Setting up nginx web server
Setting up nginx is as simple as sudo apt-get install nginx, but configuring for our use case and managing the configuration's automated way is where Ansible gives the power. Let's look at the following snippet of nginx's role from the playbook:
- name: adding nginx signing key
apt_key:
url: http://nginx.org/keys/nginx_signing.key
state: present
- name: adding sources.list deb url for nginx
lineinfile:
dest: /etc/apt/sources.list
line: "deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx"
- name: update the cache and install nginx server
apt:
name: nginx
update_cache: yes
state: present
- name: updating customized templates for nginx configuration
template:
src: "{{ item.src }}"
dest: "{{ item.dst }}"
with_items:
- { src: "templates/defautlt.conf.j2", dst: "/etc/nginx/conf.d/default.conf" }
notify
- start nginx
- startup nginx
In the preceding code snippet, we are adding the signing key, then adding the repository, then installing. This ensures that we can also perform integrity checks while downloading packages from the repositories.
Then, we are using Jinja2 templating to perform the configuration changes, which can be predefined in our configuration before updating in the server.