centos6/7专用rabbitmq开机自启脚本

承接上文centos7中rabbitmq安装详细教程

如果文章哪里有问题,欢迎各位看官留言指出,多谢!!

前言:

为了方便管理服务,centos6版本中使用的是init进程来管理,centos7版本中使用的是systemd进程来管理
所以本次将自启脚本放置在/etc/init.d目录下,交由services(init)或者systemd来管理,故centos6和centos7中都可以使用的
简要介绍init
init在启动过程中会根据运行级别来启动
  # 0 - 关机
  # 1 - 单用户模式,只root用户进行维护
  # 2 - 多用户,没有 NFS
  # 3 - 完全多用户模式(标准的运行级)
  # 4 - 安全模式
  # 5 - 图形界面
  # 6 - 重新启动
不同的级别会对应运行 /etc/rc.d/rc{0,1,2,3,4,5,6}.d 目录下的脚本

开始自启脚本配置

1、在/etc/init.d/目录中创建rabbitmq文件
(注意要根据自己环境修改rabbitmq安装目录路径)

$ vim /etc/rc.d/rabbitmq
#!/bin/bash

# chkconfig: 2345 80 05
# description: rabbitmq
# processname: rabbitmq

#RabbitMQ安装目录
RABBITMQ_HOME=/opt/rabbitmq_server-3.7.14
export PATH=$PATH:/usr/local/erlang/bin
export HOME=$RABBITMQ_HOME

case "$1" in
    start)
    echo "Starting RabbitMQ ..."
        $RABBITMQ_HOME/sbin/rabbitmq-server -detached
 ;;
stop)
    echo "Stopping RabbitMQ ..."
        $RABBITMQ_HOME/sbin/rabbitmqctl stop
    ;;
status)
    echo "Status RabbitMQ ..."
        $RABBITMQ_HOME/sbin/rabbitmqctl status
    ;;
*)
    echo "Usage: $prog {start|stop|status}"
    ;;
esac
exit 0

2、配置执行权限

$ cd /etc/rc.d
$ chmod +x /etc/rc.d/rabbitmq

3、将服务添加到系统服务中

$ chkconfig --add rabbitmq

4、设置自启动

$ chkconfig rabbitmq on

5、查看是否配置成功(如下图即代表配置成功)

$ chkconfig --list rabbitmq
Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

rabbitmq        0:off   1:off   2:on    3:on    4:on    5:on    6:off

6、重刷服务配置

$ systemctl daemon-reload

7、启动服务测试

$ systemctl start rabbitm

$ systemctl status rabbitmq
● rabbitmq.service - SYSV: rabbitmq
   Loaded: loaded (/etc/rc.d/init.d/rabbitmq; bad; vendor preset: disabled)
   Active: active (running) since Thu 2020-09-10 17:29:42 CST; 2min 36s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 13550 ExecStop=/etc/rc.d/init.d/rabbitmq stop (code=exited, status=0/SUCCESS)
  Process: 13764 ExecStart=/etc/rc.d/init.d/rabbitmq start (code=exited, status=0/SUCCESS)
    Tasks: 91
   Memory: 97.2M
   CGroup: /system.slice/rabbitmq.service
           ├─ 3567 /usr/local/erlang/lib/erlang/erts-10.3/bin/epmd -daemon
           ├─13983 /usr/local/erlang/lib/erlang/erts-10.3/bin/beam.smp -W w -A 64 -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MM...
           ├─14052 erl_child_setup 1024
           ├─14140 inet_gethost 4
           └─14141 inet_gethost 4

Sep 10 17:29:42 cpe-172-250-210-30.socal.res.rr.com systemd[1]: Starting SYSV: rabbitmq...
Sep 10 17:29:42 cpe-172-250-210-30.socal.res.rr.com rabbitmq[13764]: Starting RabbitMQ ...
Sep 10 17:29:42 cpe-172-250-210-30.socal.res.rr.com rabbitmq[13764]: Warning: PID file not written; -detached was passed.
Sep 10 17:29:42 cpe-172-250-210-30.socal.res.rr.com systemd[1]: Started SYSV: rabbitmq.

$ ps aux |grep rabbitmq
root     13983  1.4  0.8 3335044 70024 ?       Sl   17:29   0:04 /usr/local/erlang/lib/erlang/erts-10.3/bin/beam.smp -W w -A 64 -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -K true -- -root /usr/local/erlang/lib/erlang -progname erl -- -home /opt/rabbitmq_server-3.7.14 -- -pa /opt/rabbitmq_server-3.7.14/ebin  -noshell -noinput -s rabbit boot -sname rabbit@cpe-172-250-210-30 -boot start_sasl -kernel inet_default_connect_options [{
    
    nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit lager_log_root "/opt/rabbitmq_server-3.7.14/var/log/rabbitmq" -rabbit lager_default_file "/opt/rabbitmq_server-3.7.14/var/log/rabbitmq/[email protected]" -rabbit lager_upgrade_file "/opt/rabbitmq_server-3.7.14/var/log/rabbitmq/rabbit@cpe-172-250-210-30_upgrade.log" -rabbit enabled_plugins_file "/opt/rabbitmq_server-3.7.14/etc/rabbitmq/enabled_plugins" -rabbit plugins_dir "/opt/rabbitmq_server-3.7.14/plugins" -rabbit plugins_expand_dir "/opt/rabbitmq_server-3.7.14/var/lib/rabbitmq/mnesia/rabbit@cpe-172-250-210-30-plugins-expand" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/opt/rabbitmq_server-3.7.14/var/lib/rabbitmq/mnesia/rabbit@cpe-172-250-210-30" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672 -noshell -noinput
root     17389  0.0  0.0 112816   972 pts/1    S+   17:34   0:00 grep --color=auto rabbitmq

8、重启服务器测试

$ reboot
$ ps aux |grep rabbitmq

PS:如果实在想用systemd管理服务,那么还是可以用上边的脚本来运行 再添加一个systemd管理的服务文件即可

$ vim /usr/lib/systemd/system/rabbitmq.service 

[Unit]
Description=rabbitmq server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/etc/init.d/rabbitmq start
ExecStop=/etc/init.d/rabbitmq stop

[Install]
WantedBy=multi-user.target

$ systemctl enable rabbitmq
$ systemctl start rabbitmq

猜你喜欢

转载自blog.csdn.net/weixin_43860781/article/details/108649078
今日推荐