第五章 Ansible搭建作业平台

一、需求

#搭建LNP交作业的页面
1.安装nginx
2.控制端配置nginx推送配置
3.安装php
4.控制端配置php推送配置
5.启动php
6.部署代码
7.启动nginx

二、环境准备

主机名 IP 角色
m01 10.0.0.61 跳板机
web01 172.16.1.7 web服务器
web02 172.16.1.8 web服务器

三、m01配置

1.上传相关源码包
[root@m01 ~]# rz                                                                            
[root@m01 ~]# ll
-rw-r--r-- 1 root root    26995 Aug 13 16:42 kaoshi.zip
-rw-r--r-- 1 root root 19889622 Aug 26 09:04 php.tar.gz

2.编写脚本
[root@m01 ~]# vim zuoye.sh
#!/bin/bash
#创建目录并解压相关源码包
mkdir  /package
mv /root/kaoshi.zip /root/php.tar.gz /package
cd /package
mkdir -p /code/zuoye
mkdir /php
tar xf php.tar.gz -C /php
unzip kaoshi.zip -d /code/zuoye
#安装ansible
yum -y install ansible 
#配置ansible
sed -ir 's#\#host_key_checking = False#host_key_checking = False#g' /etc/ansible/ansible.cfg 
sed -ir 's#\#log_path = /var/log/ansible.log#log_path = /var/log/ansible.log#g' /etc/ansible/ansible.cfg 
#配置本地hosts
echo -e '172.16.1.7 web01\n172.16.1.8 web02' >>/etc/hosts
#配置主机清单
echo -e "[web_group]\nweb01 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='root'\nweb02 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='root'" >/etc/ansible/hosts 
#配置本地yum源
echo -e '[nginx-stable]\nname=nginx stable repo\nbaseurl=http://nginx.org/packages/centos/$releasever/$basearch/\ngpgcheck=1\nenabled=1\ngpgkey=https://nginx.org/keys/nginx_signing.key\nmodule_hotfixes=true' > /etc/yum.repos.d/nginx.repo 
#配置web服务器yum源
ansible 'web_group' -m copy -a 'src=/etc/yum.repos.d/nginx.repo dest=/etc/yum.repos.d/nginx.repo'
#安装依赖包
ansible 'web_group' -m yum -a 'name=gcc,gcc-c++,autoconf,pcre,pcre-devel,make,automake,wget,httpd-tools,vim,tree state=present'
#安装nginx
ansible 'web_group' -m yum -a 'name=nginx state=present'
#配置本地nginx文件
echo -e 'server{\n    listen 80;\n    server_name linux.zuoye.com;\n    root /code/zuoye;\nlocation / {\n    index index.html;\n}\nlocation ~* \.php$ {\n   fastcgi_pass 127.0.0.1:9000;\n   fastcgi_param SCRIPT_FILENAME /code/zuoye/$fastcgi_script_name;\n   include fastcgi_params; \n}\n}' >/root/linux.zuoye.com.conf 
#推送nginx配置文件
ansible 'web_group' -m copy -a 'src=/root/linux.zuoye.com.conf dest=/etc/nginx/conf.d/'
#创建目录并授权
ansible 'web_group' -m file -a 'path=/code/zuoye state=directory owner=nginx group=nginx mode=755'
#推送作业平台
ansible 'web_group' -m copy -a 'src=/code/zuoye/ dest=/code/zuoye owner=nginx group=nginx mode=0644 '
#启动服务
ansible 'web_group' -m shell -a 'systemctl restart nginx'
#创建php目录
ansible 'web_group' -m file -a 'path=/php state=directory '
#推送php
ansible 'web_group' -m copy -a 'src=/php/ dest=/php'
#本地安装PHP
ansible 'web_group' -m shell -a 'cd /php && yum -y localinstall *.rpm'
#启动PHP
ansible 'web_group' -m shell -a 'systemctl start php-fpm'

3.执行脚本
[root@m01 ~]# /bin/bash zuoye.sh

4.配置本地hosts
10.0.0.7     linux.zuoye.com
10.0.0.8     linux.zuoye.com

5.测试
web01能正常访问交作业平台并上传作业
web02能正常访问交作业平台并上传作业

posted @ 2022-09-20 09:24  高压锅炖主播  阅读(56)  评论(0)    收藏  举报