一、需求
#搭建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能正常访问交作业平台并上传作业