您的位置:首页 > 运维架构 > Nginx

ansible安装nginx

2017-01-13 13:01 351 查看
ansible安装nginx(实现回滚发布功能:下一篇博客。没想到写长了)

一、准备工作

1、准备两台机器

sai: 192.168.131.132 ——》 ansible的服务端

luojy: 192.168.131.133 ——》 ansible的客户端

2、132机器上安装ansible

(1)yum install -y epel-release
(2)yum install -y ansible

3、132,133机器上关闭防火墙

4、设置hostname,/etc/sysconfig/network 上定义
132机器:HOSTNAME=web1.luojy.com
133机器:HOSTNAME=web3.luojy.com

5、编辑hosts文件
192.168.131.132 web1.luojy.com
192.168.131.133 web3.luojy.com

6、Ansible 配置密钥(因为ansible是通过 sshd 来实现客户端和服务端通信的)
注意:如果要对本机即132上用ansible来做操作,也需要保存公钥的~~~
(1)132机器上生成密钥对:ssh-keygen -t rsa
(2)id_rsa.pub 拷贝到 131上(.ssh/authorized_keys, 设置600只读权限)

7、/etc/ansible/hosts 添加



这个web2.luojy.com 我用来做别的事了,而且web2是已经安装过nginx的,web3没有,所以就web3咯~~

验明正身,请看web3!!!



二、安装nginx
(i)思路:

web1机器上编译安装好nginx、打包,然后再用ansible去下发到各个客户端机器上
把nginx目录打包,把配置文件放到指定目录下
把tar包打包,放到其他机器上安装
由于nginx会依赖库文件,所以对方机器上要安装依赖的包/库 ——》 yum

(ii)具体安装过程
web1
1、web1上原来已安装nginx
打包工作
(1) cd /usr/local
(2) tar zcvf nginx.tar.gz

2、cd /etc/ansible; mkdir nginx_install

3、cd nginx_install; mkdir roles
4、cd roles; mkdir common install



目录说明:

(1)common: 一些准备操作
(2)install: 安装nginx的操作

5、创建common下tasks目录,里面是web3机器需要安装的依赖包
cd common/; mkdir tasks;
(1)vim main.yml



6、进入install目录下,创建四个目录

(1) cd install/
(2)mkdir tasks vars files templates
说明:
(a)tasks: 里面是核心的配置文件
(b)vars:定义的变量
(c)files:安装时用到的一些文件
(d)templates:存一些配置文件,启动脚本等模板文件

7、复制打包文件,配置文件,启动脚本到相应目录下
(1)cp /usr/local/nginx/tar.gz files/
(2)cp /usr/local/nginx/conf/nginx.conf templates/
(3)cp /etc/init.d/nginx templates/

8、定义变量(第2行非必须)
vim var/main.yml



9、vim tasks/copy.yml ——》 顾名思义,就是指定 copy 一些东西到对方机器哒,具体看name解说



说明:

(a)copy: src=nginx.tar.gz 直接这样写是因为.gz文件是在files下的

(b)template: src=nginx.conf 也是会从templates下直接找到 .conf文件

(c)nginx_basedir 在var目录下

10、vim tasks/install.yml ——》 安装(非常好懂是吧),运行user,开启服务,加入系统服务列表



善后工作都做埋了(删除 .gz)

11、vim tasks/main.yml ——》 就是串起 copy.yml 和 install.yml 的



结构是这样的



12、定义大boss ——》总入口配置文件

(1)cd /etc/ansible/nginx_install/

(2)vim install.yml



(iii)执行命令 + 测试

1、web1执行: ansible-playbook install.yml



warning无伤大雅~~~

我记得运行这条命令出了一个小问题

如下----------------------------------------------------------------------------------------



解决方法

web3安装:yum install -y libselinux-python

--------------------------------------------------------------------------------------------

2、web3(luojy)测试

(1)测试依赖包:rpm -qa |egrep 'pcre|openssl|zlib'



(2)测试拷贝解压



(3)测试进程启动: ps aux |grep nginx



(4)测试系统服务:chkconfig --list nginx 345启动



好啦~~~搞掂~~~~~ ^___^
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: