¸üÐÂʱ¼ä:2019Äê12ÔÂ06ÈÕ17ʱ59·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:
ansibleÊǷdz£Ç¿´óµÄÅäÖÃ×Ô¶¯»¯¹¤¾ß£¬Ö÷ÒªµÄÌØµãÊDz¿Êð¿ì½Ý¼òµ¥£¬¿Í»§¶ËÖ»ÐèÒª´ò¿ªssh·þÎñ¼´¿É¡£

Ëü¿ÉÒÔʹÓÃYAML¸ñʽÀ´±àдPALYBOOKʵÏÖ±àÅŲ¿Ê𣬲¢ÇÒ¿ÉÒÔʹÓÃrolesÀ´ÊµÏÖÀàËÆ±à³ÌÓïÑÔÖк¯ÊýµÄ·â×°Ó÷¨¡£Ê¹ÓÃroles¿ÉÒÔ·½±ã²¿Êð´óÐ͵Ä×Ô¶¯»¯ÈÎ Îñ¡£ÍƼöÁ˽âlinuxÔÆ¼ÆËã+ÔËά¿ª·¢¿Î³Ì¡£
ÏÂÃæÊ¹ÓÃansibleÀ´±àÅŲ¿Êðlamp+discuz£¬´ó¼Ò¿ÉÒÔ¾ÙÒ»·´ÈýÀ´±àÅŲ¿ÊðÆäËüÓ¦Óá£
µÚ1²½: ´´½¨rolesĿ¼¼°Îļþ,²¢È·ÈÏĿ¼½á¹¹
master# cd /etc/ansible/roles/ master# mkdir -p {httpd,mysql,php}/{files,tasks,handlers,templates,vars,met a} master# touch {httpd,mysql,php}/{tasks,handlers,vars,meta}/main.yml
µÚ2²½: ×¼±¸httpdÏà¹ØÎļþ
master# ls /etc/ansible/roles/httpd/files/ Discuz_X3.2_SC_UTF8.zip httpd.conf httpd.conf ÅäÖÃÎļþ
master# vim /etc/ansible/roles/httpd/tasks/main.yml - name: °²×°httpdÏà¹ØÈí¼þ°ü yum: name=httpd,httpd-devel state=latest - name: ͬ²½ÅäÖÃÎļþ copy: src=/etc/ansible/roles/httpd/files/httpd.conf dest=/etc/httpd/conf/httpd.conf notify: restart httpd _ name: ¿½±´discuzѹËõ°ü copy: src=/etc/ansible/roles/httpd/files/Discuz_X3.2_SC_UTF8.zi p dest=/tmp/ - name: ½âѹ²¢mvÍøÕ¾Îļþµ½httpd¼ÒĿ¼ shell: unzip /tmp/Discuz_x3.2_sc_UTF8.zip -d /tmp &>/dev/null && mv /tmp/upload/* /var/www/html/ && chown -R apache.apache /var/www/html/ # ÉÏÃæµÄÃüÁîÓеã¶à£¬¿ÉÒÔд³É½Å±¾£¬È»ºóʹÓÃscriptÄ£¿éÀ´µ÷ÓÃÖ´ÐС£ - name: Æô¶¯httpd²¢¿ª»úÆô¶¯ service£º name=httpd state=started enabled=function
µÚ3²½: ±àдhttpd½ÇÉ«µÄmain.ymlÎļþ
µÚ4²½: ±àдhttpd½ÇÉ«ÀïµÄhandler
master# vim /etc/ansible/roles/httpd/handlers/main.yml
---
- name: restart httpd
service: name=httpd state=restarted
µÚ5²½: ±àдmysql½ÇÉ«µÄmain.ymlÎļþ
master# vim /etc/ansible/roles/mysql/tasks/main.yml --- - name: °²×°mariadbÏà¹ØÈí¼þ°ü yum: name=mariadb-server,mariadb-devel state=latest - name: Æô¶¯mariadb·þÎñÆ÷²¢ÉèÖÿªÆô×ÔÆô¶¯ service: name=mariadb srate=started enabled=on - name:Ö´Ðн¨¿â½Å±¾ script£º /etc/ansible/roles/mysql/files/create.sh
µÚ6²½: ±àдmysqlµÄ½¨¿â½Å±¾
master# vim /etc/ansible/roles/mysql/files/create.sh #!/bin/bash mysql << EOF create database if not exists discuz default charset=utf8; grant all on discuz.* to 'discuz'@'localhost' identified by '123'; flush privileges; EOF
µÚ7²½: ±àдphp½ÇÉ«µÄmain.ymlÎļþ
master# vim /etc/ansible/roles/php/tasks/main.yml 2 --- - name: °²×°phpÏà¹ØÈí¼þ°ü yum: name=php,php-gd,php-ldap,php-odbc,php-pear,php- xml,php-xmlrpc, php-mbstring,php-snmp,php-soap,curl,curl- devel, php-bcmath,php-mysql state=present notify: restart httpd
µÚ8²½:±àдlampµÄplaybookÎļþµ÷ÓÃÇ°Ãæ¶¨ÒåºÃµÄÈý¸ö½ÇÉ«
master# vim /etc/ansible/playbook/lamp.yaml --- - hosts: group1 # ´ú±íÐèÒª°²×°µÄÖ÷»ú×é remote_user£ºroot # Ö´ÐÐÈÎÎñµÄÓû§ rolse: # µ÷ÓÃÈçÏÂ3¸örole£¬Ï൱ÓÚµ÷Óú¯Êý - httpd - mysql - php
µÚ9²½: Ö´ÐÐlampµÄplaybookÎļþ
master# ansible-playbook /etc/ansible/playbook/lamp.yaml
µÚ10²½: ¿ÉÒÔͨ¹ýä¯ÀÀÆ÷·ÃÎÊÊôÓÚgroup1µÄÖ÷»ú½øÐа²×°

MysqlÖÐÈçºÎÐÞ¸Ä×ֶεÄÅÅÁÐ˳Ðò£¿
2019-11-28MySqlÊý¾Ý±íÖÐÔõôɾ³ý×ֶΣ¿[ÔËάÅàѵ]
2019-11-28MySqlÈçºÎÔÚÊý¾Ý±íÖÐÌí¼Ó×ֶΣ¿[ITÔËάÅàѵ]
2019-11-28MysqlÖÐÈçºÎÐÞ¸Ä×ֶεÄÊý¾ÝÀàÐÍ£¿[ÔËάÅàѵ]
2019-11-28ÀÖÓã²¥¿ÍSVNÊÓÆµ½Ì³ÌÏÂÔØ-¹²12½Ú¿Î[ITÔËάÅàѵ]
2019-11-28ÈÝÆ÷»¯²¿Êð΢·þÎñÏîÄ¿ÊÓÆµ½Ì³Ì[ITÔËάÅàѵ]
2019-11-22
±±¾©Ð£Çø