рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рдПрдХ RabbitMQ рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ рдЧрд╣рд░реА рдирдЬрд╝рд░ рд╕реЗ рдЪрд▓рд╛рдирд╛ рдереЛрдбрд╝рд╛ рднреНрд░рд╛рдордХ рд▓рдЧрддрд╛ рд╣реИред рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рдХрдЯреМрддреА рдХреЗ рддрд╣рдд рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- RabbitMQ-Server рд╕рдВрд╕реНрдХрд░рдг - 2.1.0
- рдУрдПрд╕: рдлреЗрдбреЛрд░рд╛
рдХрдо
рд╣рдо рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдкреАрдЖрдИрдбреА тАЛтАЛрдХреЛ рдзреНрдпрд╛рди рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХреА рдПрдХ рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╣реИ:
-bash-3.2# /etc/init.d/rabbitmq-server start root 7732 3834 0 11:54 pts/0 00:00:00 /bin/sh /etc/init.d/rabbitmq-server start root 7733 7732 0 11:54 pts/0 00:00:00 /bin/sh /usr/sbin/rabbitmq-multi start_all 1 root 7740 7733 0 11:54 pts/0 00:00:00 su rabbitmq -s /bin/sh -c /usr/lib/rabbitmq/bin/rabbitmq-multi "start_all" "1" rabbitmq 7741 7740 7 11:54 ? 00:00:00 /usr/lib64/erlang/erts-5.7.5/bin/beam.smp -- -root /usr/lib64/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa /usr/lib/rabbitmq/lib/rabbitmq_server- 2.1.0/sbin/../ebin -noshell -noinput -hidden -K true -sname rabbitmq_multi7741 -s rabbit_multi -extra start_all 1 rabbitmq 7767 7741 0 11:54 ? 00:00:00 inet_gethost 4 rabbitmq 7768 7767 0 11:54 ? 00:00:00 inet_gethost 4 rabbitmq 7769 7741 0 11:54 ? 00:00:00 /bin/sh /usr/lib/rabbitmq/bin/rabbitmq-server -noinput rabbitmq 7794 7769 0 11:54 ? 00:00:00 /bin/sh /usr/lib/rabbitmq/bin/rabbitmq-server -noinput rabbitmq 7795 7794 0 11:54 ? 00:00:00 ps -ef rabbitmq 7796 7794 0 11:54 ? 00:00:00 grep rabbit -bash-3.2# echo $$ 3834
рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА
- рд╢реЗрд▓ рд╕реЗ (PID = 3834) /etc/init.d/rabbitmq-server рдкреНрд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИ;
- Init.d рд╕реНрдХреНрд░рд┐рдкреНрдЯ (PID = 7732), рдореЗрдВред рдлрд╝рд╛рдЗрд▓ / etc / sysconfig / rabbitmq;
- Init.d рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ, рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ su rabbitmq -s / bin / sh -c / usr / lib / rabbitmq / bin / rabbitmq-multi "start_all" "1" (PID = 7740) рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ; рдпрд╣ рдлрд╝реАрдб (рд╕реНрд░реЛрдд) / usr / lib / rabbitmq / bin / rabbitmq-evn, рдЬрд┐рд╕рдореЗрдВ /etc/rabbimq/rabbitmq.conf
- In / usr / lib / rabbitmq / bin / rabbitmq-multi erlang рдХреБрдЫ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (PID = 7741)ред рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ -s rabbit_multiред рдкреНрд░рд╛рд░рдВрдн (рдореИрди рдПрд░рд▓) рдХреЗ рдмрдЬрд╛рдп рд╕рдВрдХреЗрддрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдХрд╛рд░реНрдп;
- рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдЗрд░рд▓реИрдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ, рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ / рдмрд┐рди / рд╢ / usr / lib / rabbitmq / bin / rabbitmq-server -noinput (PID = 7769) рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ rabbitmq-server рд╕реНрд╡рдпрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
рдпрд╣рд╛рдБ rabbit_mulri.erl рдХрд╛ рдХреЛрдб рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
220 run_rabbitmq_server() -> 221 with_os([{unix, fun run_rabbitmq_server_unix/0}, 222 {win32, fun run_rabbitmq_server_win32/0}]). 223 224 run_rabbitmq_server_unix() -> 225 CmdLine = getenv("RABBITMQ_SCRIPT_HOME") ++ "/rabbitmq-server -noinput", 226 erlang:open_port({spawn, CmdLine}, [nouse_stdio]). 227 228 run_rabbitmq_server_win32() -> 229 Cmd = filename:nativename(os:find_executable("cmd")), 230 CmdLine = "\"" ++ getenv("RABBITMQ_SCRIPT_HOME") 231 ++ "\\rabbitmq-server.bat\" -noinput", 232 erlang:open_port({spawn_executable, Cmd}, 233 [{arg0, Cmd}, {args, ["/q", "/s", "/c", CmdLine]}, 234 nouse_stdio, hide]).
рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рд▓реЙрдиреНрдЪ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдорд▓реНрдЯреА-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИред
рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдордЭ рд╣реИ рдХрд┐ рдЦрд░рдЧреЛрд╢-рд╕рд░реНрд╡рд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реЗ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕рдХреА рдХреЛрдИ рд╕рдордЭ рдирд╣реАрдВ рд╣реИред рдЪрд▓реЛ erlang рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдкрд░ рдПрдХ рдХрд░реАрдм рд╕реЗ рджреЗрдЦреЗрдВред
рд▓реЙрдиреНрдЪрд░ рд▓реЙрдиреНрдЪ (рдЦрд░рдЧреЛрд╢_рдореБрд▓реНрдЯреА)
exec erl \ -pa "${RABBITMQ_HOME}/ebin" \ -noinput \ -hidden \ ${RABBITMQ_MULTI_ERL_ARGS} \ -sname rabbitmq_multi$$ \ -s rabbit_multi \ ${RABBITMQ_MULTI_START_ARGS} \ -extra "$@"
рд╕рд░реНрд╡рд░ рдкреНрд░рд╛рд░рдВрдн
exec erl ${RABBITMQ_EBIN_PATH} ${RABBITMQ_START_RABBIT} -sname ${RABBITMQ_NODENAME} -boot ${RABBITMQ_BOOT_FILE} ${RABBITMQ_CONFIG_ARG} +W w \ ${RABBITMQ_SERVER_ERL_ARGS} \ ${RABBITMQ_LISTEN_ARG} \ -sasl errlog_type error \ -kernel error_logger '{file,"'${RABBITMQ_LOGS}'"}' \ -sasl sasl_error_logger '{file,"'${RABBITMQ_SASL_LOGS}'"}' \ -os_mon start_cpu_sup true \ -os_mon start_disksup false \ -os_mon start_memsup false \ -mnesia dir "\"${RABBITMQ_MNESIA_DIR}\"" \ ${RABBITMQ_SERVER_START_ARGS} \ "$@"
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдкреНрд░рддреНрдпреЗрдХ erlang рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ /etc/rabbitmq/rabbitmq.conf рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдЬрдм / usr / lib / rabbitmq / bin / rabbitmq-multi рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╣реИ рдХрд┐ рд▓реЙрдиреНрдЪ рдХреА рдЧрдИ рд╕реЗрд╡рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИ:
exec erl -noinput -sname rabbit@hostname -boot /var/lib/rabbitmq/mnesia/rabbit@hostname/plugins-scratch/rabbit \ -config /etc/rabbitmq/rabbitmq +W w +K true +A30 +P 1048576 -kernel inet_default_listen_options [{nodelay,true}] \ -kernel inet_default_connect_options [{nodelay,true}] \ -sasl errlog_type error -kernel error_logger '{file,'/var/log/rabbitmq/rabbit@hostname.log'}' \ -sasl sasl_error_logger '{file,'/var/log/rabbitmq/rabbit@hostname-sasl.log'}' \ -os_mon start_cpu_sup true -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/var/lib/rabbitmq/mnesia/rabbit@hostname" -noinput
рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдлрд╝рд╛рдЗрд▓реЗрдВ
рдирддреАрдЬрддрди, рдЦрд░рдЧреЛрд╢рдмреИрдВрдХ-рд╕рд░реНрд╡рд░ рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП 3 conf рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓:
- / etc / sysconfig / rabbitmq; - рдпрд╣ рдХрд┐рд╕реА рднреА рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдерд╛рдЧрдд рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрд▓рд┐рдореЗрдЯ)
- /etc/rabbitmq/rabbitmq.conf; - рдПрд░рд▓рд╛рдВрдЧ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
- /etc/rabbitmq/rabbitmq.configред - Rabbitmq-server рд╣реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдХреБрдЫ рд╕рдордп рдмрдЪрд╛рдПрдЧрд╛ред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдорд╛рдорд▓рд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЪрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реЗ рдорд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рд▓рд┐рдЦреВрдВрдЧрд╛ред