car.3205 发表于 2018-7-29 12:19:48

centos7 ansible yum安装web软件

一、网站拓扑

  ansible主机inventory的情况:
  # cat ansible_inventory.txt
  
  10.11.7.224 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=xuAK
  10.11.5.209 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=pwByh
  
  10.11.7.205 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=WlkW
  10.11.7.202 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=iJMfZ
  10.11.7.201 ansible_connection=ssh ansible_ssh_user=root ansible_ssh_pass=WxB6
  
  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
  
  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
  二、安装部分
  1、准备所需的源
  下面是nginx源为例,具体参考博客centos7配置更新源、epel源
  # cat /etc/yum.repos.d/ngx.repo
  # filename: nginx.repo
  
  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
  2、准备好所需的安装包(建议下载后,通过拷贝等方式进行安装,有部分关联包,根据安装过程中,出现的提示安装即可)
  下载包:(nginx为例,部分使用系统默认自带的安装包)
  # yum install --downloadonly --downloaddir=/root/ans/ningx/ nginx
  keepalived包使用默认
  或者使用yumdownloader下载:
  # yumdownloader --resolve --destdir=/root/ans/ openssl-devel
  # ls   #安装包
  ansible_inventory.txt   mongodbmysqlnginxredisresin
  3、ansible安装各个功能应用程序
  通过ansible对不同功能的服务器进行安装,具体如下(ntp时间同步可以略过)
  3.1、安装开发工具:
  # ansible all -i /root/ans/ansible_inventory.txt -m shell -a "yum groupinstall 'Development Tools' -y"
  3.2、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.3、安装nginx
  
  # 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.4、keepalived安装
  
  # 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.5、安装resin:(需要安装关联包jdk、openssl-devel)
  
  # ls resin/
  jdk-8u121-linux-x64.rpmresin-4.0.49-1.x86_64.rpmRPM-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.6、安装mongodb和Redis:
  
  # 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.7、安装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"
页: [1]
查看完整版本: centos7 ansible yum安装web软件