言
系统环境:CentOS Linux release 7.7.1908 (Core)
要求
将RabbitMQ注册成开机服务程序
创建软连接 ln -s /opt/rabbitmq_server-3.6.10/sbin/rabbitmq-server /etc/init.d/rabbitmq-server
创建软连接 ln -s /opt/rabbitmq_server-3.6.10/sbin/rabbitmq-env /etc/init.d/rabbitmq-env
执行脚本 service rabbitmq-server start
提示出错:erl: command not found
解决方案
编辑/etc/init.d/rabbitmq-server脚本,NOTIFY_SOCKET注释之后添加rabbitmq的HOME目录和erlang的路径
# NOTIFY_SOCKET is needed here to prevent epmd from impersonating the
# success of our startup sequence to systemd.
export HOME=/opt/rabbitmq_server-3.6.10
export PATH=$PATH:/opt/otp/lib/erlang/bin
疑窦
已经将erlang的路径添加到/etc/profile文件中,并且已经执行source /etc/profile,但是service无法读取到该环境变量
释疑
1、/etc/profile或者/etc/security/limit.d这些文件中配置的环境变量仅对通过pam登录的用户生效,而systemd是不读这些配置