ansible可以用于管理环境配置等
安装
sudo apt-get install software-properties-common
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible
准备一台虚拟机(此处用vagrant方式)
vagrant init envimation/ubuntu-xenial
修改Vagrantfile(ip自己设置)
config.vm.network "public_network", ip:"192.168.1.13"
vagrant up
vagrant ssh
准备nginx-1.14.2.tar.gz
准备一个test.yml,内容如下
- hosts: test
remote_user: vagrant
tasks:
- name: copy test
copy: src=/path/to/nginx-1.14.2.tar.gz dest=/tmp owner=vagrant group=vagrant mode=0644
- name: copy sh
copy: src=/path/to/install.sh dest=/home/vagrant owner=vagrant group=vagrant mode=0644
- name: install
shell: /bin/bash /home/vagrant/install.sh
准备一个install.sh,内容如下
#!/bin/bash
sudo apt-get -y update
sudo apt-get -y install gcc build-essential libtool libpcre3 libpcre3-dev zlib1g-dev openssl libssl-dev
sudo groupadd -r nginx
sudo useradd -s /sbin/nologin -g nginx -r nginx
cd /tmp
tar xf nginx-1.14.2.tar.gz;cd nginx-1.14.2
mkdir /var/run/nginx/
chown nginx:nginx /var/run/nginx/
./configure \
--prefix=/usr \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx/nginx.pid \
--user=nginx \
--group=nginx \
--with-http_ssl_module
make && sudo make install
sudo /usr/sbin/nginx
准备一个hosts,内容如下
[test]
192.168.1.13
试验
ansible-playbook -i hosts test.yml
curl http://192.168.1.13:80
可以看到响应