项目中对于队列以及队列任务优先级等功能的需求,各种队列测试下来,从功能全面,性能稳定,接口对接方便等等综合起来考虑,最终还是使用RabbitMQ来得靠谱。
从一套Centos上搭建一套RabbitMQ服务端开始,需要现在服务器上安装erlang环境。
安装erlang
安装依赖yum -y install gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf
下载安装包wget http://erlang.org/download/otp_src_20.3.tar.gz
解压安装tar -zxf otp_src_20.3.tar.gz
cd otp_src_20.3
./otp_build autoconf
./configure
make && make install
输入erl即可验证会进入erlang的环境,并显示版本信息,代表安装成功。
安装RabbitMQ
下载安装包wget https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_6_15/rabbitmq-server-3.6.15-1.el7.noarch.rpm
yum安装yum install rabbitmq-server-3.6.15-1.el7.noarch.rpm
打开开机启动chkconfig rabbitmq-server on
基本操作
rabbitmq-server启动/停止/重启/状态service rabbitmq-server start
service rabbitmq-server restart
service rabbitmq-server stop
service rabbitmq-server status
RabbitMQ用户相关操作
列出所有用户rabbitmqctl list_users
为用户guest修改密码rabbitmqctl change_password guest 123456
新建用户并指定为超级管理员rabbitmqctl add_user admin 12345678
rabbitmqctl set_user_tags admin administrator
删除用户rabbitmqctl delete_user Username
启用web管理界面rabbitmq-plugins enable rabbitmq_management
需要配置nginx转发来访问web管理界面。
nginx配置server
{
listen 80;
server_name mq.test.com;
index index.html index.htm index.php;
include conf-server.conf;
client_max_body_size 64m;
error_page 404 /404.html;
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
location / {
proxy_pass http://127.0.0.1:15672;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log /opt/log/nginx/rabbitmq.access.log combined;
error_log /opt/log/nginx/rabbitmq.error.log warn;
}
配置好nginx后,重启nginx后就可以打开你配置的域名,看到rabbitmq的web管理界面,使用上面用户操作里配置好的超管用户名和密码登录即可。
登录后可以查看服务的运行状态,包括消息实时统计Overview,当前连接Connections,频道Channels,当前使用的Exchanges,当前队列Queues,以及用户配置Admin这些功能,web界面的具体使用自行百度。
这样我们就有了一个完整功能的rabbitmq服务端供队列使用了。
CentOS搭建RabbitMQ服务端及web管理界面配置
更多精彩,敬请关注本博微信公众号:hsu1943