centos7 ansible yum安裝web軟件

spacer.gif1、網站拓撲html

wKiom1jxiTnSLwcGAADrlKEbY5Q757.png-wh_50

ansible主機inventory的狀況:mysql

# cat ansible_inventory.txt linux

[front]nginx

10.11.7.224 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=xuAKweb

10.11.5.209 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=pwByhredis

[redmon]sql

10.11.7.205 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=WlkWmongodb

10.11.7.202 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=iJMfZshell

10.11.7.201 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=WxB6centos

[web]

10.11.7.207 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=VtxR3

10.11.7.206 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=adR5I

10.11.7.192 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=W5f4

[db]

10.11.7.200 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=vLmb

10.11.7.195 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=WOg

10.11.7.193 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=fZrLv


2、安裝部分

一、準備所需的源

下面是nginx源爲例,具體參考博客centos7配置更新源、epel源

# cat /etc/yum.repos.d/ngx.repo

# filename: nginx.repo

[nginx]

name=centos7 nginx repo

baseurl=http://nginx.org/packages/centos/7/$basearch/

enabled=1

gpgcheck=0

#rpm -ivhhttps://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm


二、準備好所需的安裝包(建議下載後,經過拷貝等方式進行安裝,有部分關聯包,根據安裝過程當中,出現的提示安裝便可)

下載包:(nginx爲例,部分使用系統默認自帶的安裝包)

# yum install --downloadonly --downloaddir=/root/ans/ningx/ nginx

keepalived包使用默認

或者使用yumdownloader下載:

# yumdownloader --resolve --destdir=/root/ans/ openssl-devel


# ls     #安裝包

ansible_inventory.txt   mongodb  mysql  nginx  redis  resin


三、ansible安裝各個功能應用程序

經過ansible對不一樣功能的服務器進行安裝,具體以下(ntp時間同步能夠略過)


3.一、安裝開發工具:

# ansible all -i /root/ans/ansible_inventory.txt -m shell -a "yum groupinstall 'Development Tools' -y"


3.二、ntp時間同步

# ansible all -i /root/ans/ansible_inventory.txt -m yum -a "name=ntp state=present"

# ansible all -i /root/ans/ansible_inventory.txt -m service -a "name=ntpd state=started enabled=yes"

# ansible all -i ansible_inventory.txt -m systemd -a "name=ntpd state=restarted enabled=yes"

# ansible all -i /root/ans/ansible_inventory.txt -m shell -a "date"

#ansible all -i /root/ans/ansible_inventory.txt -m cron -a "name='sync cron' hour=4 user=root job='ntp.sjtu.edu.cn'"

定時的結果:

# ansible all -i /root/ans/ansible_inventory.txt -m shell -a "crontab -l"

# crontab -l

#Ansible: sync cron

0 4 * * * ntp.sjtu.edu.cn

定時取消:

# ansible all -i /root/ans/ansible_inventory.txt -m cron -a "name='sync cron' minute=10 hour=4 user=root job='ntp.sjtu.edu.cn' state=absent"

新建文件夾,指定存放路徑

http://www.iyunv.com/thread-211953-1-1.html

# ansible all -i /root/ans/ansible_inventory.txt -m shell -a "mkdir /root/ans"

# ansible all -i /root/ans/ansible_inventory.txt -m file -a "path=/root/ans state=directory"

查看

# ansible all -i /root/ans/ansible_inventory.txt -a "ls -l /root"


3.三、安裝nginx

[front][web]

# ansible front,web -i /root/ans/ansible_inventory.txt -m copy -a "src=/root/ans/nginx dest=/root/ans/"

# ansible front,web -i /root/ans/ansible_inventory.txt -m shell -a "rpm -ivh /root/ans/nginx/*"

# ansible front,web -i /root/ans/ansible_inventory.txt -m shell -a "rpm -ql nginx"

啓動與中止

# ansible front,web -i /root/ans/ansible_inventory.txt -m systemd -a "name=nginx state=started enabled=yes"

# ansible front,web -i /root/ans/ansible_inventory.txt -m systemd -a "name=nginx state=stopped"


3.四、keepalived安裝

[front]

# ansible front -i /root/ans/ansible_inventory.txt -m yum -a "name=keepalived state=latest"

# ansible front -i /root/ans/ansible_inventory.txt -m service -a "name=keepalived state=start enabled=yes「

# ansible front -i /root/ans/ansible_inventory.txt -m shell -a "rpm -ql keepalived"

# ansible front -i /root/ans/ansible_inventory.txt -m systemd -a "name=keepalived state=started enabled=yes"

# ansible front -i /root/ans/ansible_inventory.txt -m shell -a "ps -ef | grep keepalived" --limit=10.11.7.224


3.五、安裝resin:(須要安裝關聯包jdk、openssl-devel)

[web]

# ls resin/

jdk-8u121-linux-x64.rpm  resin-4.0.49-1.x86_64.rpm  RPM-GPG-KEY-caucho

# ansible web -i /root/ans/ansible_inventory.txt -m copy -a "src=/root/ans/resin dest=/root/ans/"

# ansible web -i /root/ans/ansible_inventory.txt -m shell -a "yum install /root/ans/resin/jdk-8u121-linux-x64.rpm -y」

# ansible web -i /root/ans/ansible_inventory.txt -m shell -a "rpm --import /root/ans/resin/RPM-GPG-KEY-caucho"

# ansible web -i /root/ans/ansible_inventory.txt -m shell -a "yum install openssl-devel -y"

# ansible web -i /root/ans/ansible_inventory.txt -m shell -a "rpm -ivh /root/ans/resin/resin-4.0.49-1.x86_64.rpm"      #也可用使用yum來安裝


3.六、安裝mongodb和Redis:

[redmon]

# ansible redmon -i /root/ans/ansible_inventory.txt -m copy -a "src=/root/ans/mongodb dest=/root/ans/"

# ansible redmon -i /root/ans/ansible_inventory.txt -m copy -a "src=/root/ans/redis dest=/root/ans/"

# ansible redmon -i /root/ans/ansible_inventory.txt -m shell -a "yum install /root/ans/redis/*.rpm -y"

# ansible redmon -i /root/ans/ansible_inventory.txt -m shell -a "yum install /root/ans/mongodb/*.rpm -y"


3.七、安裝mysql(mysql-community-server):

# ansible db -i /root/ans/ansible_inventory.txt -m copy -a "src=/root/ans/mysql dest=/root/ans/"

# ansible db -i /root/ans/ansible_inventory.txt -m shell -a "yum install /root/ans/mysql/*.rpm -y"

相關文章
相關標籤/搜索