Linux 服务器 Java环境部署系列(五):搭建RabbitMQ

引言

  本文主要介绍Linux服务器下,搭建RabbitMQ,及相关配置。

系列文档目录

  Linux 服务器 Java环境部署系列(一):安装JDK

  Linux 服务器 Java环境部署系列(二):安装nginx、mysql、tomcat、redis

  Linux 服务器 Java环境部署系列(三):安装git、maven

  Linux 服务器 Java环境部署系列(四):搭建jenkins环境、部署项目

  Linux 服务器 Java环境部署系列(五):搭建RabbitMQ

准备工作

wget http://erlang.org/download/otp_src_22.0-rc2.tar.gz
  • 下载rabbitmq-server安装包
wget wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.2/rabbitmq-server-3.8.2-1.el7.noarch.rpm

安装Erlang

  • 安装依赖类库:

    • yum -y install gcc-c++
    • yum -y install ncurses-devel
    • yum -y install openssl-devel
    • yum -y install unixODBC-devel
  • 创建目录(安装指定目录):mkdir /usr/local/erlang
  • 打开目录 cd otp_src_22.2/
  • 安装至指定目录: ./configure --prefix=/usr/local/erlang --without-Javac
  • make && make install
  • 编译&安装完成以后配置Erlang环境变量:vim  /etc/profile
    • 追加环境变量到文件末尾:export PATH=$PATH:/usr/local/erlang/bin
    • source /etc/profile

安装RabbitMQ

  • 加载源:rpm -ivh --nodeps rabbitmq-server-3.8.2-1.el7.noarch.rpm
  • 如果linux的防火墙开启时,还需执行以下操作
    • firewall-cmd --zone=public --add-port=15672/tcp --permanent
    • firewall-cmd --zone=public --add-port=5672/tcp --permanent
    • firewall-cmd --reload
  • 启动:
    • rabbitmq-plugins enable rabbitmq_management
    • rabbitmq-server
  • 后台启动:rabbitmq-server -detached
  • 创建登录账号、密码:rabbitmqctl add_user [账号] [密码]
  • 授管理员权限:rabbitmqctl set_user_tags [账号] administrator
  • 授权用户到虚拟机(/):rabbitmqctl set_permissions -p / [账号] ‘.*‘ ‘.*‘ ‘.*‘
  • 配置开机自启动:
    • 添加自启动脚本:
    • 在/etc/init.d目录下新建一个rabbitmq-server文件,内容如下: 

#!/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 INFO

# Source function library.
. /etc/init.d/functions
export HOME=/root
PATH=/sbin:/usr/sbin:/bin:/usr/bin
NAME=rabbitmq-server
#DAEMON=/usr/sbin/${NAME}
#CONTROL=/usr/sbin/rabbitmqctl
DAEMON=/server/rabbitmq/sbin/${NAME}
CONTROL=/server/rabbitmq/sbin/rabbitmqctl
DESC=rabbitmq-server
USER=root
ROTATE_SUFFIX=
INIT_LOG_DIR=/var/log/rabbitmq
PID_FILE=/var/run/rabbitmq/pid

START_PROG="daemon"
LOCK_FILE=/var/lock/subsys/$NAME

test -x $DAEMON || exit 0
test -x $CONTROL || exit 0

RETVAL=0
set -e

[ -f /etc/default/${NAME} ] && . /etc/default/${NAME}

ensure_pid_dir () {
    PID_DIR=`dirname ${PID_FILE}`
    if [ ! -d ${PID_DIR} ] ; then
        mkdir -p ${PID_DIR}
        chown -R ${USER}:${USER} ${PID_DIR}
        chmod 755 ${PID_DIR}
    fi
}

remove_pid () {
    rm -f ${PID_FILE}
    rmdir `dirname ${PID_FILE}` || :
}

start_rabbitmq () {
    status_rabbitmq quiet
    if [ $RETVAL = 0 ] ; then
        echo RabbitMQ is currently running
    else
        RETVAL=0
        ensure_pid_dir
        set +e
        RABBITMQ_PID_FILE=$PID_FILE $START_PROG $DAEMON             > "${INIT_LOG_DIR}/startup_log"             2> "${INIT_LOG_DIR}/startup_err"             0<&- &
        $CONTROL wait $PID_FILE >/dev/null 2>&1
        RETVAL=$?
        set -e
        case "$RETVAL" in
            0)
                echo SUCCESS
                if [ -n "$LOCK_FILE" ] ; then
                    touch $LOCK_FILE
                fi
                ;;
            *)
                remove_pid
                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 ${PID_FILE} > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err
        RETVAL=$?
        set -e
        if [ $RETVAL = 0 ] ; then
            remove_pid
            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
    $CONTROL 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
        ;;
esac

exit $RETVAL

    • 根据实际情况修改上面内容中

# 增加了Erlang环境路径
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/erlang/bin

# 服务脚本
DAEMON=/server/rabbitmq/sbin/${NAME}

CONTROL=/server/rabbitmq/sbin/rabbitmqctl

DESC=rabbitmq-server

USER=root

# 日志目录
INIT_LOG_DIR=/data/soft/rabbitmq_server-3.7.9/var/log/rabbitmq     

# pid文件,查找命令命令:find / -name rabbit*.pid
PID_FILE=/var/lib/rabbitmq/mnesia/[email protected]

      • 设置执行权限,命令:chmod a+x /etc/init.d/rabbitmq-server
    添加开机启动项:

    • 添加命令:chkconfig --add /etc/init.d/rabbitmq-server
    • 查看启动项,命令:chkconfig --list
    • 需要设置rabbitmq-server启动命令:chkconfig rabbitmq-server on
    • 关闭命令为:chkconfig rabbitmq-server off
    • 删除命令为:chkconfig --del rabbitmq-server
  • 执行命令reboot,重启服务器即可验证nginx开机启动

原文地址:https://www.cnblogs.com/huanghzm/p/12192390.html

时间: 2024-10-19 21:03:28

Linux 服务器 Java环境部署系列(五):搭建RabbitMQ的相关文章

Linux 服务器 Java环境部署系列(三):安装git、maven

引言 本文主要介绍Linux服务器下搭建Java环境的相关操作:安装git.maven. 系列文档目录 Linux 服务器 Java环境部署系列(一):安装JDK Linux 服务器 Java环境部署系列(二):安装nginx.mysql.tomcat.redis Linux 服务器 Java环境部署系列(三):安装git.maven Linux 服务器 Java环境部署系列(四):搭建jenkins环境.部署项目 安装git 安装git,采用数据源的方式,并配置环境变量 安装步骤 查看源仓库g

linux 服务器 tomcat环境部署出错 重启

目前还没在现实当中遇到过这种情况,那么自己先模拟一下: 首先查找tomcat进程, 命令: ps -ef |grep tomcat [email protected]:/opt/android-sdk/sdk/# ps -ef |grep tomcat root 3071 1 0 5月26 ? 06:15:47 /usr/lib/jvm/java-8-oracle/bin/java -Djava.util.logging.config.file=/root/apache-tomcat-8.5.1

linux后台服务器开发环境部署配置和验证(nginx+apache+php-fpm+FASTCGI(C/C++))

linux后台服务器开发环境部署配置 引言 背景 随着公司互联网业务的不断增多,开发环境变得越来越复杂,为了便于统一服务器端的开发部署环境,特制定本配置文档. 使用软件 CentOS 6.3(Linux version 2.6.32-279.el6.x86_64) gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4) 本次配置 Nginx 1.5.8 Apache 2.4.7 php 5.3.26 目的 构造WEB前端技术架构,web前端的部署结构技术完全完成.

So Easy! Oracle在Linux上的安装配置系列五

So Easy! Oracle在Linux上的安装配置系列五 本篇是监听器的配置的续篇,上一小节我们创建了一个监听器,创建了密码文,在监听和实例都启动的情况下,从远程windows即时客户端连接到了oracle服务器.本篇我将继续说监听器,还将完成相关的实验 以下内容整理自网络 Oracle 监听器 Listener 是一个重要的数据库服务器组件,在整个 Oracle 体系结构中,扮演着重要的作用.它负责管理 Oracle 数据库和客户端之间的通讯,它在一个特定的网卡端口(默认是TCP 1521

php+mysql+nginx在linux上的环境部署

一直在linux上鼓捣,还没有完整在linux下配置过nginx服务器环境部署呢,这几天没什么事就部署了一下,遇到的问题也很多,现在把我的环境部署文档发出了,有什么问题大家可以一起讨论一下,希望大家采用后遇到问题多多沟通. || 安装所需各种依赖包 sudo -s LANG=C yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2

linux配置java环境变量(详细) -copy

一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车.之后会在当前目录下生成一个jdk1.6.0_14目录,你可以将它复制到 任何一个目录下. 二. 需要配置的环境变量 1. PATH环境变量.作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序.我们

linux配置java环境变量(转)

linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车.之后会在当前目录下生成一个jdk1.6.0_14目录,你可以将它复制到 任何一个目录下. 二. 需要配置的环境变量 1. PATH环境变量.作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路

linux下java环境变量的设置,形参个数可变的方法

首先我们执行jdk二进制文件: 生成一个jdk目录,将这个目录mv到/usr/loca/jdk # vim /etc/profile export JAVA_HOME=/usr/local/jdkexport CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PAT# vim Varargs.java #source /etc/profile 例子: #vim test.java 这个例子中test方法形参个数可变,在形参列表中,最后一个形参

android 之 java环境部署

上甲骨文公司官网下载最新的jdk http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html 选择相应的系统版本 安装过程一路下一步即可,但要记住你的jdk和jre的安装目录,因为这个一会配置环境变量需要用到 安装关闭后按如下操作 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk* /    (*为jdk的版本号如果你是默认路径文件夹的话