RabbitMQ 安装后没有配置文件

  • Post author:
  • Post category:其他




RabbitMQ 安装后没有配置文件

之前费了半天劲儿在CentOS7上安装了rabbitmq,打开web管理界面后看到没有配置文件(not found),根据网上的方法可以执行

find / -name rabbitmq.config.example

,再拷贝到指定文件夹下重命名,但是我连这个示例文件都没有,另一个缺少的文件是rabbitmq-env.conf。

我当时是tar包安装的,版本也比较低(3.6.12),怀疑是安装的时候有问题,想着卸载重装一下。在网上找了一个rpm,执行安装命令重新安装后,在启动时报错:node with name “rabbit” already running on “xxx”,执行

rabbitmqctl stop

停止服务又会报另一个错误,结果执行

ps -ef | grep rabbitmq

发现居然还真有进程在运行,

kill -9 pid

杀掉进程,可以正常启动了。

但是我执行“find / -name rabbitmq.config发现还是没有配置文件,不过这次已经有rabbitmq.config.example文件了,我又打开rabbitmq的日志,发现:config file(s) : (none),这次是真的麻了,原本这里是一个路径后面写着not found,这次直接给我整一个none,顺便提一嘴,这次我还是没有rabbitmq-env.conf。

我的解决方法是,执行

find / -name rabbitmq-defaults

找到这个文件的位置,打开它看到:

### next line potentially updated in package install steps
SYS_PREFIX=
### next line will be updated when generating a standalone release
ERL_DIR=

CLEAN_BOOT_FILE=start_clean
SASL_BOOT_FILE=start_sasl

if [ -f "${RABBITMQ_HOME}/erlang.mk" ]; then
    # RabbitMQ is executed from its source directory. The plugins
    # directory and ERL_LIBS are tuned based on this.
    RABBITMQ_DEV_ENV=1
fi

## Set default values

BOOT_MODULE="rabbit"

CONFIG_FILE=${SYS_PREFIX}/etc/rabbitmq/rabbitmq
LOG_BASE=${SYS_PREFIX}/var/log/rabbitmq
MNESIA_BASE=${SYS_PREFIX}/var/lib/rabbitmq/mnesia
ENABLED_PLUGINS_FILE=${SYS_PREFIX}/etc/rabbitmq/enabled_plugins
GENERATED_CONFIG_DIR=${SYS_PREFIX}/var/lib/rabbitmq/config
ADVANCED_CONFIG_FILE=${SYS_PREFIX}/etc/rabbitmq/advanced
SCHEMA_DIR=${SYS_PREFIX}/var/lib/rabbitmq/schema

PLUGINS_DIR="${RABBITMQ_HOME}/plugins"

# RABBIT_HOME can contain a version number, so default plugins
# directory can be hard to find if we want to package some plugin
# separately. When RABBITMQ_HOME points to a standard location where
# it's usually being installed by package managers, we add
# "/usr/lib/rabbitmq/plugins" to plugin search path.
case "$RABBITMQ_HOME" in
    /usr/lib/rabbitmq/*)
        PLUGINS_DIR="/usr/lib/rabbitmq/plugins:$PLUGINS_DIR"
        ;;
esac

CONF_ENV_FILE=${SYS_PREFIX}/etc/rabbitmq/rabbitmq-env.conf

CONFIG_FILE指定配置文件rabbitmq.config的位置(省略了.config)

CONF_ENV_FILE指定环境配置文件rabbitmq-env.conf

再将rabbitmq.config.example拷贝到CONFIG_FILE指定的目录下,重命名,这次就一切正常了。


不过话说回来,那个示例文件毕竟只是示例文件,配置全给注释掉了,包括rabbitmq-env.conf这个文件,这两个文件都是可以自己创建的,什么时候用得上什么时候再说呗,白折腾这么大工夫。



版权声明:本文为m0_67390788原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。