Linux下安装RabbitMQ

本文详细介绍了如何在Linux环境下安装Erlang和RabbitMQ,并指导了如何设置RabbitMQ的管理权限,包括服务器启动与关闭、插件管理、虚拟主机管理、用户管理、权限管理等功能。

1. 安装erlang:

下载所需的源码:wget http://erlang.org/download/otp_src_R13B04.tar.gz wget http://erlang.org/download/otp_src_R13B04.tar.gz

然后./configure && make && make install

 

注:在configure之后发现有以下提示信息:

(1) odbc : ODBC library – link check failed

需要yum -y install unixODBC unixODBC-devel

(2)“ wxWidgets not found, wx will NOT be usable”及“fop is missing.”这两个可以忽略。

 

 

安装完毕,在命令行键入erl,将会出现如下命令行:

Erlang R13B04 (erts-5.7.5) [source] [smp:2:2] [rq:2][async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.7.5 

(abort with ^G)
1>

 

2.安装RabbitMQ

RabbitMQ的安装有很多版本,我们使用Generic Unix版本。

http://www.rabbitmq.com/install-generic-unix.html中下载http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.3/rabbitmq-server-generic-unix-3.4.3.tar.gz并解压到Linux中的任意目录(/mysoftware/rabbitmq_server-3.4.3/),解压后即可使用。

 

3.RabbitMQ开启与关闭

进入rabbitmq安装目录下的sbin目录,分别执行以下命令:

开启RabbitMQ服务:.
./rabbitmq-server -detached (-detached为可选参数,表示后台开启)

开启RabbitMQ管理工具,通过浏览器访问http://localhost:15672使用:.
./rabbitmq-plugins enable rabbitmq_management (3.3.1版本以后默认不允许用guest远程管理。可以手动创建管理员帐号来远程管理,具体参见4.4)

关闭RabbitMQ服务:
./rabbitmqctl stop

 

4.设置RabbitMQ管理权限

 

 

Rabbitmq服务器的主要通过rabbitmqctl和rabbimq-plugins两个工具来管理,以下是一些常用功能。

1). 服务器启动与关闭

      启动: rabbitmq-server –detached

      关闭:rabbitmqctl stop

      若单机有多个实例,则在rabbitmqctlh后加–n 指定名称

2). 插件管理

      开启某个插件:rabbitmq-pluginsenable xxx

      关闭某个插件:rabbitmq-pluginsdisablexxx

      注意:重启服务器后生效。

3).virtual_host管理

      新建virtual_host: rabbitmqctladd_vhost  xxx

      撤销virtual_host:rabbitmqctl  delete_vhost xxx

4). 用户管理

      新建用户:rabbitmqctl add_user xxx pwd

      删除用户:   rabbitmqctl delete_user xxx

      改密码: rabbimqctl change_password {username} {newpassword}

      设置用户角色:rabbitmqctl set_user_tags {username} {tag ...}

              Tag可以为 administrator,monitoring, management

5). 权限管理

      权限设置:set_permissions [-pvhostpath] {user} {conf} {write} {read}

               Vhostpath

               Vhost路径

               user

     用户名

              Conf

      一个正则表达式match哪些配置资源能够被该用户访问。

              Write

      一个正则表达式match哪些配置资源能够被该用户读。

               Read

      一个正则表达式match哪些配置资源能够被该用户访问。

6). 获取服务器状态信息

       服务器状态:rabbitmqctl status

       队列信息:rabbitmqctl list_queues[-p vhostpath] [queueinfoitem ...]

                Queueinfoitem可以为:name,durable,auto_delete,arguments,messages_ready,

                messages_unacknowledged,messages,consumers,memory

       Exchange信息:rabbitmqctllist_exchanges[-p vhostpath] [exchangeinfoitem ...]

                 Exchangeinfoitem有:name,type,durable,auto_delete,internal,arguments.

       Binding信息:rabbitmqctllist_bindings[-p vhostpath] [bindinginfoitem ...]       

                 Bindinginfoitem有:source_name,source_kind,destination_name,destination_kind,routing_key,arguments

       Connection信息:rabbitmqctllist_connections [connectioninfoitem ...]

       Connectioninfoitem有:recv_oct,recv_cnt,send_oct,send_cnt,send_pend等。

       Channel信息:rabbitmqctl  list_channels[channelinfoitem ...]

      Channelinfoitem有consumer_count,messages_unacknowledged,messages_uncommitted,acks_uncommitted,messages_unconfirmed,prefetch_count,client_flow_blocked

 

 

 

 

### 安装 RabbitMQ 的步骤 #### 1. 安装 Erlang 依赖 RabbitMQ 是基于 Erlang 开发的,因此在安装 RabbitMQ 之前需要先安装 Erlang。 - **配置 Erlang 软件源** 在 CentOS 7 上,可以通过以下命令添加 Erlang 的软件源: ```bash curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash ``` - **更新本地缓存** 添加软件源后,更新本地软件包缓存: ```bash sudo yum makecache ``` - **安装 Erlang 包** 使用以下命令安装 Erlang: ```bash sudo yum install -y erlang ``` #### 2. 安装 RabbitMQ - **添加 RabbitMQ 软件源** 添加 RabbitMQ 的官方软件源: ```bash curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash ``` - **安装 RabbitMQ** 使用以下命令安装 RabbitMQ: ```bash sudo yum install -y rabbitmq-server ``` - **生成本地服务** 安装完成后,RabbitMQ 会自动注册为系统服务。可以通过以下命令查看服务状态: ```bash sudo systemctl status rabbitmq-server ``` - **启动 RabbitMQ 服务** 使用以下命令启动 RabbitMQ 服务: ```bash sudo systemctl start rabbitmq-server ``` - **查看服务状态** 确认 RabbitMQ 服务是否正常运行: ```bash sudo systemctl status rabbitmq-server ``` #### 3. 配置 RabbitMQ - **开启防火墙** 如果系统启用了防火墙,需要开放 RabbitMQ 的端口(默认为 5672): ```bash sudo firewall-cmd --permanent --add-port=5672/tcp sudo firewall-cmd --reload ``` - **SELinux 配置** 如果启用了 SELinux,需要确保 RabbitMQ 的数据目录和日志目录有正确的权限: ```bash sudo chcon -R -t var_lib_t /var/lib/rabbitmq/ sudo chcon -R -t var_log_t /var/log/rabbitmq/ ``` - **给 RabbitMQ 指定目录** 如果需要更改 RabbitMQ 的数据存储目录,可以在 `/etc/rabbitmq/rabbitmq.conf` 文件中配置: ```bash sudo nano /etc/rabbitmq/rabbitmq.conf ``` 添加以下行以指定新的数据目录: ```conf data_dir = /new/path/to/rabbitmq/data ``` - **开启 Web 管理控制台插件** RabbitMQ 提供了一个 Web 管理插件,可以通过以下命令启用: ```bash sudo rabbitmq-plugins enable rabbitmq_management ``` - **创建 RabbitMQ 账号** 使用以下命令创建一个新的 RabbitMQ 用户并设置密码: ```bash sudo rabbitmqctl add_user admin password sudo rabbitmqctl set_user_tags admin administrator sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" ``` - **进入 Web 管理控制台** 安装完成后,可以通过浏览器访问 RabbitMQ 的 Web 管理界面: ``` http://<your-server-ip>:15672/ ``` 使用之前创建的用户名和密码登录。 #### 4. 配置持久化 为了确保 RabbitMQ 的消息在重启后不会丢失,需要进行持久化配置。 - **调整配置文件** 编辑 `/etc/rabbitmq/rabbitmq.conf` 文件,添加以下持久化相关配置: ```conf disk_free_limit.absolute = 2GB queue_index_embed_msgs_below = 4096 msg_store_file_size_limit = 16777216 ``` - **应用配置** 保存配置文件后,重启 RabbitMQ 服务以应用新的配置: ```bash sudo systemctl restart rabbitmq-server ``` #### 5. 源代码详细实现和代码解读 如果需要从源代码编译 RabbitMQ,可以参考 RabbitMQ 的官方文档,获取详细的编译和安装步骤。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值