ansible自动安装rabbitmq
ansible playbook 安装rabbitmq单机版,以下脚本在CentOS6.7服务器测试通过。
需要配置本机的yum源,用于安装socat软件。
rabbitmq版本和Erlang版本需要对应,相关文档见:http://www.rabbitmq.com/which-erlang.html
可以根据自己需要选择rabbitmq版本(但要到官网查询支持的Erlang,否则安装后无法启动)
1 --- 2 - name: install rabbitmq app 3 gather_facts: False 4 hosts: "{{ host }}" 5 user: root 6 tasks: 7 - name: time sync 8 command: /usr/sbin/ntpdate 10.86.1.76 9 10 - name: install require rpm packages 11 yum: name=socat state=installed 12 13 - name: download erlang package 14 get_url: url={{ erlang_url }} dest=/tmp/erlang.rpm 15 16 - name: install erlang packages 17 yum: name=/tmp/erlang.rpm state=present 18 19 - name: download rabbitmq package 20 get_url: url={{ rabbitmq_url }} dest=/tmp/rabbitmq-server.rpm 21 22 - name: rpm install rabbitmq-server 23 yum: name=/tmp/rabbitmq-server.rpm state=present 24 25 - name: start rabbitmq-server 26 service: name=rabbitmq-server enabled=yes state=restarted 27 28 - name: Enable the plugins is installed 29 shell: rabbitmq-plugins enable rabbitmq_management && rabbitmq-plugins enable rabbitmq_mqtt && rabbitmq-plugins enable rabbitmq_web_mqtt 30 notify: 31 restart rabbitmq-server 32 33 - name: create the rabbitmq user 34 shell: rabbitmqctl add_user {{ username }} {{ password }} 35 ignore_errors: yes 36 37 - name: add rabbitmq_user to adminstrator 38 shell: rabbitmqctl set_user_tags {{ username }} administrator 39 40 - name: configure the rabbitmq_user premission 41 shell: rabbitmqctl set_permissions -p "/" {{ username }} ".*" ".*" ".*" 42 43 - name: del rabbitmq install pkg 44 file: path={{ item }} state=absent 45 with_items: 46 - /tmp/erlang.rpm 47 - /tmp/rabbitmq-server.rpm 48 49 handlers: 50 - name: restart rabbitmq-server 51 service: name=rabbitmq-server state=restarted
使用方法:
ansible-playbook rabbitmq_install.yml --extra-vars "{'host':'192.168.233.233','erlang_url':'https://github.com/rabbitmq/erlang-rpm/releases/download/v19.3.6.4/erlang-19.3.6.4-1.el6.x86_64.rpm','rabbitmq_url':'http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.14/rabbitmq-server-3.6.14-1.el6.noarch.rpm','username':'mquser','password':'123456'}"
相关软件下载地址:
rabbitmq-server下载:http://www.rabbitmq.com/releases/rabbitmq-server/
Erlang版本支持列表:http://www.rabbitmq.com/which-erlang.html
Erlang下载:https://github.com/rabbitmq/erlang-rpm/releases
人们永远没有足够的时间把它做好,但永远有足够的时间重新来过。 可是,因为并不是总有机会重做一遍,你必须做得更好,换句话说, 人们永远没有足够的时间去考虑到底是不是想要它,但永远有足够的时间去为之后悔。 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 浅掘千口井,不如深挖一口井!当知识支撑不了野心时,那就静下心来学习吧!运维技术交流QQ群:618354452
个人微信公众号,定期发布技术文章和运维感悟。欢迎大家关注交流。