nginx+php 完成 kod云搭建(ansible使用变量)
[root@m01 project1]# vim kod.yml
- hosts: web
#1.卸载php低版本
#2.安装nginx1.12 php5.4
tasks:
- name: Installed Nginx
yum: name=nginx,php,php-fpm,php-pdo,php-gd,php-mbstring state=present
#4.创建组和用户 www
- name: Create Group {{ web_user }}
group: name={{ web_user }} gid=666 state=present
- name: Create User {{ web_user }}
user: name={{ web_user }} uid=666 group=666 shell=/sbin/nologin state=present
#5.配置nginx -->nginx.conf 指定运行的用户身份www
#6.配置nginx.conf.d/kod.conf 虚拟主机
- name: Configure Virtual {{ nginx_virt }}
template: src=./kod.conf.j2 dest={{ nginx_virt }}/kod.conf backup=yes
#7.根据虚拟主机的配置创建存放代码的目录
- name: Create Kod {{ nginx_code }} Directory
file: path={{ nginx_code }} state=directory
#8.拷贝kod云的代码.解压
- name: Unzip Kod {{ nginx_code }} Directory
unarchive: src=./backup/kodexplorer4.40.zip dest={{ nginx_code }}
#9.授权目录的权限
- name: Chown Kod Data {{ web_user }}
file: path={{ nginx_code }} owner={{ web_user }} group={{ web_user }} recurse=yes mode=0777
#7.配置php-fpm 管理php的用户身份
- name: Configure PHP-FPM {{ php_fpm_conf }}
template: src=./php_www.conf.j2 dest={{ php_fpm_conf }}
#8.配置php程序,php.ini 调整可道云上传的大小
- name: Configure PHP Server {{ php_ini_conf }}
template: src=./php.ini.j2 dest={{ php_ini_conf }}
#9.测试nginx 和php的配置文件是否正确,正确则启动
- name: Service Nginx Server
service: name=nginx state=started enabled=yes
- name: Service PHP-FPM Server
service: name=php-fpm state=started enabled=yes
[root@web01 conf.d]# mkdir /ansible_code
[root@web01 ~]# scp /etc/nginx/nginx.conf root@172.16.1.61:/root/project1
root@172.16.1.61's password:
nginx.conf 100% 642 309.8KB/s 00:00
[root@m01 project1]# mv nginx.conf nginx.conf.j2
[root@web01 ~]# scp /etc/php.ini root@172.16.1.61:/root/project1/php.ini.j2
root@172.16.1.61's password:
php.ini 100% 61KB 8.8MB/s 00:00
[root@web01 ~]# scp /etc/php-fpm.d/www.conf root@172.16.1.61:/root/project1/php_www.conf.j2
root@172.16.1.61's password:
www.conf 100% 18KB 3.1MB/s 00:00
[root@m01 project1]# vim group_vars/all
web_user: www
nginx_conf: /etc/nginx/nginx.conf
nginx_virt: /etc/nginx/conf.d
nginx_code: /ansible_code
php_fpm_conf: /etc/php-fpm.d/www.conf
php_ini_conf: /etc/php.ini
php_ini_max_uploads: 200M
[root@m01 project1]# vim kod.conf.j2
server {
listen 80;
server_name kod.oldboy.com;
root /ansible_code;
location / {
index index.php index.html;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS on;
include fastcgi_params;
}
}
##执行kod.yml
[root@m01 project1]# ansible-playbook kod.yml -i hosts
PLAY [web] ***********************************************************************************************
TASK [Gathering Facts] ***********************************************************************************
ok: [172.16.1.7]
ok: [172.16.1.8]
TASK [installed nginx] ***********************************************************************************
ok: [172.16.1.7]
ok: [172.16.1.8]
TASK [create group] **************************************************************************************
ok: [172.16.1.7]
ok: [172.16.1.8]
TASK [create user] ***************************************************************************************
ok: [172.16.1.7]
ok: [172.16.1.8]
TASK [configure nginx /etc/nginx/nginx.conf] *************************************************************
ok: [172.16.1.8]
ok: [172.16.1.7]
TASK [configure virtual /etc/nginx/conf.d] ***************************************************************
ok: [172.16.1.8]
ok: [172.16.1.7]
TASK [Create Kod /ansible_code Directory] ****************************************************************
ok: [172.16.1.7]
ok: [172.16.1.8]
TASK [Unzip Kod /ansible_code Directory] *****************************************************************
changed: [172.16.1.7]
changed: [172.16.1.8]
TASK [chown kod data www] ********************************************************************************
changed: [172.16.1.7]
changed: [172.16.1.8]
TASK [configure php-fpm /etc/php-fpm.d/www.conf] *********************************************************
changed: [172.16.1.8]
changed: [172.16.1.7]
TASK [configure php server /etc/php.ini] *****************************************************************
ok: [172.16.1.7]
changed: [172.16.1.8]
TASK [service nginx server] ******************************************************************************
ok: [172.16.1.7]
ok: [172.16.1.8]
TASK [service php-fpm server] ****************************************************************************
ok: [172.16.1.7]
changed: [172.16.1.8]
PLAY RECAP ***********************************************************************************************
172.16.1.7 : ok=13 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
172.16.1.8 : ok=13 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0