Rabbitmq 部署
1、升级python
tar xvzf Python-2.7.2.tgzcd Python-2.7.2./configure --prefix=/usrmake make install升级完后检查下python是否升级到2.7.2
2、安装新版Erlang
yum install openssl openssl-devel gcc-c++ unixODBC unixODBC-devel ncurses.x86_64 ncurses-devel.x86_64wget http://www.erlang.org/download/otp_src_R15B.tar.gztar xvzf otp_src_R15B.tar.gz./configure –prefix=/usrmakemake install
3、安装simplejson
wget http://pypi.python.org/packages/source/s/simplejson/simplejson-2.3.0.tar.gztar xvzf simplejson-2.3.0.tar.gzpython setup.py install
4、安装rabbitmq
安装依赖yum –y install nmap.x86_64 xmlto.x86_64wget http://www.rabbitmq.com/releases/rabbitmq-server/v2.7.1/rabbitmq-server-2.7.1.tar.gztar xvzf rabbitmq-server-2.7.1.tar.gzcd rabbitmq-server-2.7.1makemake TARGET_DIR=/usr/local/rabbitmq SBIN_DIR=/usr/local/rabbitmq/sbin MAN_DIR=/usr/local/rabbitmq/man install
5、启动rabbitmq
/usr/local/rabbitmq/sbin/rabbitmq-server start 测试启动,如果抛出正常,则证明无误。/usr/local/rabbitmq/sbin/rabbitmqctl wait PID(PID是rabbitmq的启动pid文件或者Pid值)。
6、启动脚本
#!/bin/sh## rabbitmq-server RabbitMQ broker## chkconfig: - 80 05# description: Enable AMQP service provided by RabbitMQ#### BEGIN INIT INFO# Provides: rabbitmq-server# Required-Start: $remote_fs $network# Required-Stop: $remote_fs $network# Description: RabbitMQ broker# Short-Description: Enable AMQP service provided by RabbitMQ broker### END INIT INFOPATH=/usr/local/bin:/sbin:/usr/sbin:/bin:/usr/binNAME=rabbitmq-serverDAEMON=/usr/local/rabbitmq/sbin/${NAME}CONTROL=/usr/local/rabbitmq/sbin/rabbitmqctlDESC=rabbitmq-serverUSER=rabbitmqROTATE_SUFFIX=INIT_LOG_DIR=/var/log/rabbitmqLOCK_FILE=/var/lock/subsys/$NAMEtest -x $DAEMON || exit 0RETVAL=0set -estart_rabbitmq () { status_rabbitmq quiet if [ $RETVAL = 0 ] ; then echo RabbitMQ is currently running else RETVAL=0 set +e setsid sh -c "$DAEMON > ${INIT_LOG_DIR}/startup_log \ 2> ${INIT_LOG_DIR}/startup_err" & $CONTROL wait "$!" >/dev/null 2>&1 & RETVAL=$? set -e case "$RETVAL" in 0) echo SUCCESS if [ -n "$LOCK_FILE" ] ; then touch $LOCK_FILE fi ;; *) echo FAILED - check ${INIT_LOG_DIR}/startup_\{log, _err\} RETVAL=1 ;; esac fi}stop_rabbitmq () { status_rabbitmq quiet if [ $RETVAL = 0 ] ; then set +e $CONTROL stop > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err RETVAL=$? set -e if [ $RETVAL = 0 ] ; then if [ -n "$LOCK_FILE" ] ; then rm -f $LOCK_FILE fi else echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err fi else echo RabbitMQ is not running RETVAL=0 fi}status_rabbitmq() { set +e if [ "$1" != "quiet" ] ; then $CONTROL status 2>&1 else $CONTROL status > /dev/null 2>&1 fi if [ $? != 0 ] ; then RETVAL=3 fi set -e}rotate_logs_rabbitmq() { set +e $DAEMON rotate_logs ${ROTATE_SUFFIX} if [ $? != 0 ] ; then RETVAL=1 fi set -e}restart_running_rabbitmq () { status_rabbitmq quiet if [ $RETVAL = 0 ] ; then restart_rabbitmq else echo RabbitMQ is not runnning RETVAL=0 fi}restart_rabbitmq() { stop_rabbitmq start_rabbitmq}case "$1" in start) echo -n "Starting $DESC: " start_rabbitmq echo "$NAME." ;; stop) echo -n "Stopping $DESC: " stop_rabbitmq echo "$NAME." ;; status) status_rabbitmq ;; rotate-logs) echo -n "Rotating log files for $DESC: " rotate_logs_rabbitmq ;; force-reload|reload|restart) echo -n "Restarting $DESC: " restart_rabbitmq echo "$NAME." ;; try-restart) echo -n "Restarting $DESC: " restart_running_rabbitmq echo "$NAME." ;; *) echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2 RETVAL=1 ;;esacexit $RETVAL