CentOS 5 버전 기준..
먼저 EPEL (Extra Packages for Enterprise Linux ) 설치
# rpm -Uvh http://ftp.neowiz.com/fedora-epel//5/i386/epel-release-5-4.noarch.rpm
Erlang 는 yum으로 설치 (RabbitMQ는 Erlang으로 만들어져있음)
# wget -O /etc/yum.repos.d/epel-erlang.repo http://repos.fedorapeople.org/repos/peter/erlang/epel-erlang.repo
# yum install erlang
Erlang를 소스로 설치할 경우엔 아래 의존성 패키지 설치 (소스 설치는 생략)
# yum install gcc* ncurses* openssl*
# wget http://www.rabbitmq.com/releases/rabbitmq-server/v2.8.7/rabbitmq-server-generic-unix-2.8.7.tar.gz
# tar zxvf rabbitmq-server-generic-unix-2.8.7.tar.gz
# cp -Rf rabbitmq_server-2.8.7/ /usr/local/rabbitmq
설정을 하자. (포트 변경, 로그 파일 위치 등…)
/usr/local/rabbitmq/etc/rabbitmq 폴더에 rabbitmq-env.conf 파일을 만들고
# cd ../rabbitmq/
# mkdir -p /data/rabbitmq
# mkdir -p /log/rabbitmq
# cd etc/rabbitmq
# vi rabbitmq-env.conf
# Node Name
NODENAME=abcd
# Config file location
CONFIG_FILE=/data/rabbitmq/abcd
# MNESIA DB data file location
MNESIA_BASE=/data/rabbitmq
# Log file location
LOG_BASE=/log/rabbitmq
설정파일 지정시 .config는 빼고 적고. /data/rabbitmq/abcd)
실제 설정파일명은 abcd.config 처럼 .config 붙여서 생성하면 됨.
# cd /data/rabbitmq/
# vi abcd.config
[
{mnesia, [
{dump_log_write_threshold, 1000}
]
},
{rabbit, [
{tcp_listeners, [6938]}
]
}
].
마지막에 . 붙이는거 빼먹지 말기..
RABBITMQ_HOME 셋팅
# vi /etc/profile
RABBITMQ_HOME=/usr/local/rabbitmq
export RABBITMQ_HOME
PATH=$PATH:$RABBITMQ_HOME/sbin
export PATH
# source /etc/profile
서버 실행
# rabbitmq-server –detached
설정 변경된거 확인
# rabbitmqctl environment
.
{error_logger,{file,"/log/rabbitmq/tone.log"}},
{tcp_listeners,[6938]},
.
WebUI 관리 플러그인 설정하기
# rabbitmq-plugins list
[ ] amqp_client 3.0.0
[ ] cowboy 0.5.0-rmq3.0.0-git4b93c2d
[ ] eldap 3.0.0-gite309de4
[ ] mochiweb 2.3.1-rmq3.0.0-gitd541e9a
[ ] rabbitmq_auth_backend_ldap 3.0.0
[ ] rabbitmq_auth_mechanism_ssl 3.0.0
[ ] rabbitmq_consistent_hash_exchange 3.0.0
[ ] rabbitmq_federation 3.0.0
[ ] rabbitmq_federation_management 3.0.0
[ ] rabbitmq_jsonrpc 3.0.0
[ ] rabbitmq_jsonrpc_channel 3.0.0
[ ] rabbitmq_jsonrpc_channel_examples 3.0.0
[ ] rabbitmq_management 3.0.0
[ ] rabbitmq_management_agent 3.0.0
[ ] rabbitmq_management_visualiser 3.0.0
[ ] rabbitmq_mochiweb 3.0.0
[ ] rabbitmq_mqtt 3.0.0
[ ] rabbitmq_old_federation 3.0.0
[ ] rabbitmq_shovel 3.0.0
[ ] rabbitmq_shovel_management 3.0.0
[ ] rabbitmq_stomp 3.0.0
[ ] rabbitmq_tracing 3.0.0
[ ] rabbitmq_web_stomp 3.0.0
[ ] rabbitmq_web_stomp_examples 3.0.0
[ ] rfc4627_jsonrpc 3.0.0-git7ab174b
[ ] sockjs 0.3.3-rmq3.0.0-git92d4ba4
[ ] webmachine 1.9.1-rmq3.0.0-git52e62bc
# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
mochiweb
webmachine
rabbitmq_mochiweb
amqp_client
rabbitmq_management_agent
rabbitmq_management
Plugin configuration has changed. Restart RabbitMQ for changes to take effect.
포트 개방 (6938, 15672)
# iptables -I INPUT -m tcp -p tcp --dport 6938 -j ACCEPT
# iptables -I INPUT -m tcp -p tcp --dport 15672 -j ACCEPT
# /sbin/service iptables save
# /sbin/service iptables restart
몇가지 환경설정을 하자.
기본적으로 guest/guest 계정의 사용자를 가지고 있으나, 삭제하고 새로 만들자.
# rabbitmqctl list_users
Listing users ...
guest [administrator]
...done.
# rabbitmqctl delete_user guest
Deleting user "guest" ...
...done.
아이디 test, 비밀번호 1234로 새로운 사용자 추가
# rabbitmqctl add_user test 1234
Listing users ...
test []
...done.
test 사용자의 권한을 administrator로 준다.
# rabbitmqctl set_user_tags test administrator
Setting tags for user "test" to [administrator] ...
...done.
서버 상태 보기
# rabbitmqctl status
브라우저에서 확인해볼 수 있다. (계정은 위에서 새로 생성한 test/1234)