centos message如何部署
导读:CentOS系统消息部署指南 在CentOS系统中,“message部署”可根据需求分为即时消息推送、系统日志配置、桌面通知设置及消息队列(MQ)搭建四大类,以下是具体方法: 一、即时消息推送 1. 命令行即时消息工具 wall命令:向所...
CentOS系统消息部署指南
在CentOS系统中,“message部署”可根据需求分为即时消息推送、系统日志配置、桌面通知设置及消息队列(MQ)搭建四大类,以下是具体方法:
一、即时消息推送
1. 命令行即时消息工具
- wall命令:向所有登录用户发送广播消息(无需指定用户)。
示例:echo "这是一条系统广播消息" | wall
- write命令:向特定用户发送私信(需用户在线)。
示例:write username "这是给你的私信"
- mesg命令:控制终端是否接收他人消息。
允许接收:mesg y
;禁止接收:mesg n
- curl+Webhook:通过HTTP请求向第三方平台(如企业微信、钉钉)推送消息。
示例:curl -X POST -H "Content-Type: application/json" -d '{ "msg":"测试消息"} ' https://your-webhook-url
2. 桌面通知(GNOME环境)
- notify-send命令:发送桌面弹窗通知(依赖
libnotify
和d-bus
)。
安装依赖:sudo yum install libnotify d-bus
示例:notify-send "标题" "这是一条桌面通知"
3. 第三方消息工具
- Pushover:通过API发送手机推送(需注册账号获取Token)。
安装客户端:sudo yum install pushover-cli
示例:echo "测试消息" | pushover -t YOUR_API_TOKEN
- Telegram Bot:通过Bot API发送消息(需创建Bot并获取Token)。
安装工具:sudo yum install telegram-send
示例:telegram-send -t YOUR_BOT_TOKEN "Hello from CentOS"
二、系统日志配置(长期消息记录)
- rsyslog配置:CentOS默认使用rsyslog记录系统日志,可通过修改配置文件调整日志级别和存储路径。
编辑配置文件:sudo vi /etc/rsyslog.conf
示例配置(记录所有info级别日志到/var/log/messages,auth相关日志到/var/log/secure):
重启服务生效:*.* /var/log/messages auth,authpriv.* /var/log/secure
sudo systemctl restart rsyslog
三、桌面通知设置(GNOME优化)
- dunst通知守护进程:轻量级桌面通知管理器,支持自定义通知样式、超时时间等。
安装:sudo yum install dunst
启动并设置开机自启:sudo systemctl start dunst & & sudo systemctl enable dunst
自定义配置:编辑~/.config/dunst/dunstrc
(如调整通知超时时间timeout = 5000
)
四、消息队列(MQ)搭建(异步通信)
以RabbitMQ(常用消息队列中间件)为例,步骤如下:
1. 准备工作
- 安装Erlang:RabbitMQ基于Erlang开发,需先安装Erlang环境。
示例:sudo yum install -y erlang
- 添加RabbitMQ仓库:创建
/etc/yum.repos.d/rabbitmq.repo
,内容如下:
或使用官方YUM源:[rabbitmq-server] name=RabbitMQ repository for CentOS/$basearch baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/$releasever/$basearch gpgcheck=1 gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey enabled=1
sudo yum install -y https://github.com/rabbitmq/erlang-rpm/releases/download/v23.3.4.11/erlang-23.3.4.11-1.el7.x86_64.rpm
sudo yum install -y https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/x86_64/rabbitmq-server-3.8.24-1.el7.noarch.rpm
2. 安装与启动RabbitMQ
- 安装:
sudo yum install -y rabbitmq-server
- 启动服务:
sudo systemctl start rabbitmq-server
- 设置开机自启:
sudo systemctl enable rabbitmq-server
3. 基础配置
- 启用管理插件:提供Web界面(默认端口15672),方便管理队列、用户等。
示例:sudo rabbitmq-plugins enable rabbitmq_management
访问地址:http://< 服务器IP> :15672
,默认用户名/密码均为guest
(仅限本地访问)
4. 测试消息收发
- 命令行发送消息:使用
rabbitmqadmin
工具(需先安装)。
示例(发送消息到my_queue
队列):echo "Hello, RabbitMQ!" | sudo rabbitmqadmin publish exchange=amq.default routing_key=my_queue
- 命令行接收消息:
示例:sudo rabbitmqadmin get queue=my_queue
- Python客户端测试:
生产者(发送消息):
消费者(接收消息):import pika connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() channel.queue_declare(queue='my_queue', durable=True) channel.basic_publish(exchange='', routing_key='my_queue', body='Hello from Python!', properties=pika.BasicProperties(delivery_mode=2)) # 消息持久化 print(" [x] Sent 'Hello from Python!'") connection.close()
import pika def callback(ch, method, properties, body): print(f" [x] Received { body} ") connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() channel.queue_declare(queue='my_queue', durable=True) channel.basic_consume(queue='my_queue', on_message_callback=callback, auto_ack=True) print(' [*] Waiting for messages. To exit press CTRL+C') channel.start_consuming()
以上方法覆盖了CentOS系统常见的消息部署需求,可根据实际场景选择合适的方式(如即时通知用wall
/notify-send
,长期日志用rsyslog
,异步通信用RabbitMQ)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos message如何部署
本文地址: https://pptw.com/jishu/732249.html