
《Linux全能服务王》
文章平均质量分 56
—— 从零打造你的企业级服务帝国!
🔥 为什么你需要成为“服务王“?
Linux服务器不是跑起来就行!我们将带你深入Apache/Nginx/MySQL/Docker等核心服务,掌握配置、调优、排障全技能,打造坚如磐石的服务架构!
IT_狂奔者
当你感到悲哀痛苦时,最好是学些什么东西;学习会使你永远立于不败之地。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用 Zabbix 监控 MySQL 存储空间和性能指标的完整实践指南
本文介绍了一套基于Zabbix的MySQL数据库监控方案。通过创建专用监控账号、编写统一Shell脚本,实现对MySQL关键指标(QPS、TPS)和存储使用情况的监控。方案包含技术选型、账号配置、脚本编写、Zabbix配置等详细步骤,并强调使用.my.cnf文件保障连接安全。该方案可灵活扩展监控项,帮助运维人员建立全面的数据库监控体系,提升系统稳定性与故障响应能力。原创 2025-05-30 11:10:34 · 873 阅读 · 0 评论 -
zabbix6.x 监控mysql数据库
本文介绍了使用Zabbix监控MySQL数据库的完整步骤。首先需要在MySQL服务器上安装Zabbix Agent2,包括下载编译、配置参数和启动服务。然后配置MySQL数据库模板,克隆标准模板并设置数据库连接参数。最后在Zabbix服务器上添加监控主机,关联自定义模板并验证连接状态。通过这三个主要步骤,可以成功实现对MySQL数据库运行状态的监控。原创 2025-05-28 18:29:57 · 488 阅读 · 0 评论 -
Docker部署graylog日志分析系统
日志分析系统可以实时收集、分析、监控日志并报警,当然也可以非实时的分析日志。splunk是功能强大且用起来最省心的,但是要收费,免费版有每天500M的限制,超过500M的日志就没法处理了。ELK系统是最常见的,缺点是配置麻烦一些,比较重量级。graylog是开源免费的,配置上要比ELK系统简单。综上,本文尝试容器方式搭建一套graylog系统,不做实时收集日志和报警的配置,只完成非实时被动接收网站日志,分析日志各项指标的功能。docker官方镜像国内速度觉得慢,改成国内镜像。新建文件daemon.j.原创 2020-11-12 10:48:47 · 2279 阅读 · 0 评论 -
开源实时日志分析平台-ELK简介
1、什么是日志日志就是程序产生的,遵循一定格式(通常包含时间戳)的文本数据。通常日志由服务器生成,输出到不同的文件中,一般会有系统日志、 应用日志、安全日志。这些日志分散地存储在不同的机器上。1.1 日志的重要性日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。日志数据在以下几方面具有非常重要的作用:数据查找:通过检索日志信息,定位相应的转载 2021-08-10 10:26:41 · 1161 阅读 · 0 评论 -
Centos7安装RabbitMQ最新版3.8.5
一、系统环境1、JDK1.82、Centos7-64位3、Erlang-OTP 234、RabbitMQ-3.8.5二、安装Erlang1、erlang和rabbitmq的版本对应关系2、通过rpm安装erlang1)完成erlang的前置条件配置curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash2)安装erlangyum .转载 2021-03-04 15:33:08 · 930 阅读 · 1 评论 -
rabbitmq集群环境安装配置
RabbiMQ简介RabbiMQ是用Erang开发的,集群非常方便,因为Erlang天生就是一门分布式语言,但其本身并不支持负载均衡。RabbiMQ模式RabbitMQ模式大概分为以下三种:(1)单一模式。(2)普通模式(默认的集群模式)。(3) 镜像模式(把需要的队列做成镜像队列,存在于多个节点,属于RabbiMQ的HA方案,在对业务可靠性要求较高的场合中比较适用)。要实现镜像模式,需要先搭建一个普通集群模式,在这个模式的基础上再配置镜像模式以实现高可用。RabbiMQ特.转载 2020-08-09 11:57:38 · 1012 阅读 · 0 评论 -
Centos 7.6 NFS文件共享
NFS概述nfs(Network File System) 网络文件系统,能使用户访问服务器的文件系统,就像访问自己的本机的文件系统一样,并且多个客户端共享访问该文件系统。 在企业集群架构的工作场景中,NFS网络文件系统一般被用来存储共享视频、图片、附件等静态资源文件,通常网站用户上传的文件都会放到NFS共享中,例如产品的图片、附件等,然后前端所有节点在访问这些静态资源时都会读取NFS存储上的资源。 NFS是当前互联网系统架构中最常用的数据存储服务之一,特别是中小型网站应用频率更高。环境:原创 2020-08-14 11:36:50 · 918 阅读 · 0 评论 -
nfs 客户端和服务器端有相同的用户(UID 不同),属主出现变化的解决办法
nfs 客户端和服务器端有相同的用户(UID 不同),属主出现变化的解决办法场景:项目上线,因项目需求做了NFS文件共享,赋予共享目录为匿名用户权限,上线后,发现客户端无法正常写入文件,提示没权限,经排除发现共享文件权限发生了变动,发现用户uid不一致,才导致无法正常写入。解决方法1.修改客户端uid和gid,保持与服务端一致# 服务端的用户id# id tomcatuid=1002(tomcat) gid=1002(tomcat) groups=1002(tomcat)# 客户端的用户id原创 2021-06-25 14:34:45 · 2916 阅读 · 3 评论 -
arthas命令redefine实现Java热更新
Arthas非常重要的命令redefine,主要作用是加载外部的.class文件,用来替换JVM已经加载的类,总结起来就是实现了Java的热更新。redefine在一下几种情况中会失败:1、增加了field;2、增加了method;3、替换正在运行的方法。前两个比较好理解,第三个意思就是这个方法必须结束之后才会被替换,如果有个方法开始运行之后就不会跳出,那么这个方法所在的类是无法被替换的,类似无限循环的方法。场景需求举个例子,在线上代码某个class的方法添加日志输出,修改方法返回结果,但是,又.原创 2020-07-27 18:09:44 · 1599 阅读 · 2 评论 -
线下环境安装Arthas(阿尔萨斯)报错
方式一安装Arthascurl -L https://alibaba.github.io/arthas/install.sh | sh启动Arthas./as.sh报unzip错误Error: unzip is not installed. Try to use java -jar arthas-boot.jar安装unzipyum -y install telnet.x86_64 unzip zip再次执行 ./as.sh出现久违的界面方式二官网推荐安装方原创 2020-09-29 14:39:43 · 939 阅读 · 0 评论 -
Arthas-Java的诊断工具
前景:当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:1.这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?2.我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?3.遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?4.线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!5.是否有一个全局视角来查看系统的运行状况?6.有什么办法可以监控到JVM的实时运行状态?Arthas支持JDK 6+,支持L原创 2020-07-27 17:33:03 · 360 阅读 · 0 评论 -
Centos下FTP安装与配置
一、前述企业中linux搭建ftp服务器还是很实用的,所以本文基于Centos7搭建服务器教程做个总结。FTP协议占用两个端口号:21端口:命令控制,用于接收客户端执行的FTP命令。20端口:数据传输,用于上传、下载文件数据。二、服务端安装1、安装vsftp软件包[root@spider_1 ~]# yum install -y vsftpd2、先备份vsftpd的默认配置文件[root@spider_1 ~]# cp /etc/vsftpd/vsftpd.conf{,.`date +F原创 2020-06-30 18:23:00 · 905 阅读 · 0 评论 -
centos下配置SFTP且限制用户访问目录
centos下配置SFTP且限制用户访问目录原创 2023-08-25 18:22:55 · 1374 阅读 · 0 评论 -
简单安装实现文件共享FTP服务
1.安装vsftp软件包[root@linux ~]# yum install -y vsftpd2.修改vsftpd配置文件[root@linux ~]# vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO #不允许匿名登录local_enable=YES #vsftpd所在系统的用户可以登录vsftpd write_enable=YES #允许使用任何可以修改文件系统的FTP的指令local_umask=022原创 2020-06-19 14:48:12 · 306 阅读 · 0 评论 -
Linux安装配置FTP(pure-ftpd)
ftp安装原创 2022-06-21 11:14:16 · 3724 阅读 · 1 评论 -
SSH服务端配置、优化加速、安全防护
CentOS7自带的SSH服务是OpenSSH中的一个独立守护进程SSHD。由于使用telnet在网络中是明文传输所以用其管理服务器是非常不安全的不安全,SSH协议族可以用来对服务器的管理以及在计算机之间传送文件。一、配置文件服务器配置文件 /etc/ssh/sshd_config日志文件 /var/log/secure二、配置文件详解Port 22 #默认端口ListenAddress IP #监听服务器端的IP,ss -n.转载 2020-08-04 14:53:08 · 970 阅读 · 0 评论 -
使用ssh 的ControlMaster实现不用每次ssh都输入密码
SSH支持 ControlMaster模式,可以复用之前已经建立的连接。所以开启这个功能之后,如果已经有一条到relay的链接,那么再连接的时候,就不需要再输入密码了。而ControlPersist 参数的含义就是在最后一个连接关闭之后也不真正的关掉连接,这样后面再连接的时候就还是不用输入密码。这里提供一种不需要安装客户端的简单方法,只利用SSH的配置文件(~/.ssh/config)来记录和管理多个 SSH 连接 。例如,下面定义了连接到 test 这台机器所需的配置:# Test host.原创 2020-08-04 14:31:21 · 3255 阅读 · 0 评论 -
Linux SSH安全策略限制IP登录的两种方法
Linux SSH安全策略限制IP登录的两种方法原创 2022-09-07 15:42:23 · 4770 阅读 · 0 评论 -
Linux 禁止用户或 IP通过 SSH 登录
Linux 禁止用户或 IP通过 SSH 登录原创 2023-09-05 16:49:25 · 1525 阅读 · 0 评论 -
Linux下内网端口转发工具-rinetd
目录一、前言二、安装下载 rinetd安装三、注册成系统服务及修改配置文件四、启动与关闭程序一、前言有些服务为了安全仅供内网访问,比如在阿里云中redis仅提供了内网的地址,在开发过程中我们需要查看redis中的内容,这时候就无法在开发机上直接访问,rinetd解决了这个问题,它将redis端口映射出来,通过转发来实现访问redis。在早期的版本中,rinetd只支持TCP协议,最新版本已经支持UDP协议了。二、安装下载 rinetd源码地址:Github.原创 2020-11-02 16:31:23 · 750 阅读 · 0 评论 -
CentOS7.x上轻量级TCP转发工具rinetd的安装配置
一、实验背景Linux下端口转发一般都使用iptables来实现,使用iptables可以很容易将TCP和UDP端口从防火墙转发到内部主机上。如果需要将流量从专用地址转发到不在您当前网络上的机器上,可尝试另一个应用层端口转发程序rinetd,配置起来比iptables也简单很多。Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对,尽管rine...转载 2020-06-19 15:35:48 · 2557 阅读 · 0 评论 -
linux端口映射转发工具rinetd
linux下简单好用的工具rinetd,实现端口映射/转发/重定向Linux下做地址NAT有很多种方法。比如haproxy、nginx的4层代理,linux自带的iptables等都能实现。haproxy、nginx就不说了,配置相对简单;iptables配置复杂,概念也比较多DNAT、SNAT、PREROUTING、POSTROUTING等等。其实,Linux下有一个叫rinetd的工具,安装简单,配置也不复杂。1.下载安装[root@centos-01 ~]# wget --no-check-.原创 2020-07-28 15:04:26 · 1216 阅读 · 0 评论 -
(十)Zabbix监控nginx性能
1.Nginx配置参考:Nginx开启status用以监控状态信息2.zabbix客户端配置编写客户端脚本ngx_status.sh#!/bin/bash# DateTime: 2020-9-12# Author:Bertram# Description:zabbix监控nginx性能以及进程状态# Note:此脚本需要配置在被监控端,否则ping检测将会得到不符合预期的结果 HOST="127.0.0.1"PORT="80" # 检测nginx进程是否存在funct.原创 2020-09-15 14:03:37 · 283 阅读 · 0 评论 -
(八)Grafana安装配置及添加面板
简介Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源。一、Grafana安装部署1.下载rpm源并进行安装//下载rpm包[root@zabbix-server ~]# wget https://mirrors.tuna原创 2020-08-26 18:28:22 · 4972 阅读 · 0 评论 -
CLS 对接 Grafana
操作场景日志服务(Cloud Log Service,CLS)与 Grafana 打通,支持将 CLS 的原始日志数据与 SQL 聚合分析结果导出,并在 Grafana 展示。您只需安装 CLS 日志服务 Grafana 插件,并在 Grafana 填写检索分析的语句,即可在 Grafana 上展示结果操作步骤安装 Grafana以 CentOS 安装 grafana 7.3.6 为例:sudo yum install initscripts urw-fonts wgetwget https:/原创 2021-10-21 17:20:24 · 337 阅读 · 0 评论 -
zabbix_agentd断断续续端无法访问问题记录
zabbix_agentd断断续续端无法访问问题记录原创 2023-04-11 14:56:12 · 826 阅读 · 0 评论 -
Zabbix 3.0 从入门到精通(zabbix使用详解)
第1章 zabbix监控转载 2020-07-26 16:34:25 · 765 阅读 · 0 评论 -
Zabbix5.0 自动发现和自动注册
zabbix5.0 自动发现和自动注册转载 2022-10-27 18:22:18 · 514 阅读 · 0 评论 -
Linux搭建Promtail + Loki + Grafana 轻量日志监控系统
Linux搭建Promtail + Loki + Grafana 轻量日志监控系统原创 2023-07-26 15:51:20 · 2883 阅读 · 1 评论 -
(十二)自定义模板及创建自定义监控项
目录1、创建自定义模板1.1.1 监控主机tcp11种状态信息1.1.2 利用zabbix_get测试监控项的可用性1.1.3 在web界面创建监控项1)收集页面HTTP报文数据信息2)利用命令访问监控服务网站1、创建自定义模板利用模板可以快速添加监控项1.1.1 监控主机tcp11种状态信息监控tcp11种状态ESTABLISHEDSYN_SENTSYN_RECVFIN_WAIT1FIN_WAIT2TIME_WAITCLOSECLOSE_WAIT原创 2020-09-21 18:11:15 · 1035 阅读 · 0 评论 -
(一)Centos7.4 源码安装部署LNMP环境+zabbix5.0
一、部署流程1.安装nginx 2.安装mysql 3.安装php-fpm 4.测试LNMP环境 5.zabbix-server安装 6.zabbix-agentd安装二、安装Nginx1.安装依赖环境[root@centos-01 ~]# yum install readline-devel pcre-devel openssl-devel gcc -y 2.创建nginx用户[root@centos-01 ~]# useradd -s /sbin/nologin -M原创 2020-08-13 15:52:51 · 1593 阅读 · 0 评论 -
(四)Zabbix添加自定义监控项(item)
概述由于Zabbix提供的项目和模板有限,可以满足绝大部分的监控需求。有时候由于业务需求,需要自定义监控项,下面以创建硬盘的tps(每秒传输次数) 自定义监控项为例,分享如何创建zabbix自定义监控项。zabbix添加自定义的监控项,有以下几个步骤:1.命令行,手动取值 2.在agent端编写监控命令或监控脚本 3.修改agent端的zabbix-agent的配置文件,将监控命令或监控脚本加进去。 4.在zabbix server上创建监控项前可以先使用zabbix_get测试监控项原创 2020-08-21 18:30:51 · 2117 阅读 · 0 评论 -
zabbix监控域名证书期限
zabbix通过自定义发现域名(Json格式),然后自动生成监控项,监控项通过自定义key"https"获取域名证书有效期,若少于30天则出发告警。原创 2023-06-14 17:18:25 · 1055 阅读 · 2 评论 -
(三)zabbix 发送告警消息通知到钉钉群
注:Python默认安装的,缺少requests模块,需要先安装一下,要不然执行脚本会报缺少模块yum -y install epel-releaseyum -y install python-pippip install requestsyum clean all1.先在钉钉群中添加群机器人,把webhook复制备用:2.到zabbix server上定义的告警脚本存放路径下创建dingding.py 脚本,如下:#!/usr/bin/python# -*- coding:.原创 2020-08-17 18:39:20 · 3808 阅读 · 5 评论 -
(九)zabbix监控ssl证书过期时间
目录获取证书过期时间脚本域名自动发现脚本域名列表zabbix配置获取证书过期时间脚本# cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/scripts/check-cert-expire.sh#!/bin/bashhost=$1port=$2end_date=`/usr/bin/openssl s_client -servername $host -host $host -port $port -showcerts </d转载 2020-09-04 14:13:49 · 893 阅读 · 0 评论 -
zabbix监控ssl证书到期时间
监控脚本# cat ssl_check.sh#!/bin/bash#20181219#获取ssl证书的过期时间#menghao#获取证书的有效时间time=$(echo | openssl s_client -connect $1:443 2>/dev/null | openssl x509 -noout -dates |awk -F'=' 'NR==2{print $2}')#有效时间生成时间戳time1=$(date +%s -d "$time")#当前时间生成时间戳ti转载 2021-05-18 09:49:40 · 879 阅读 · 2 评论 -
(十一)使用模板监控php-fpm服务状态
目录1.修改php-fpm的配置文件启动状态页面2.配置nginx虚拟主机的配置,增加如下location访问PHP-FPM状态信息3.重启php-fpm及nginx服务4.访问测试php_status5.创建php_ststus的脚本文件5.1 监控脚本一5.2监控脚本二6. 监控项的 userparameter_php.conf 配置文件如下7.重启zabbix-agent8.在zabbix_server使用zabbix_get命令来获取Agent端的值..原创 2020-09-15 18:19:41 · 287 阅读 · 0 评论 -
zabbix报错排错大全
1.Zabbix alerter processes more than 75% busy收到几百条zabbix告警信息:Zabbix alerter processes more than 75% busy可能原因:zabbix的数据库问题zabbix服务器的IO负载zabbix进程分配到内存不足网络延时或者不通处理方法:[root@localhost zabbix] vim /etc/zabbix/zabbix_server.conf 将其默认值5修改为20:StartPoller原创 2021-09-27 19:31:00 · 582 阅读 · 0 评论 -
(六)zabbix 使用机器人报警到钉钉群聊
1、配置钉钉机器人请参考钉钉文档配置2、下载程序插件下载zabbix 钉钉报警机器人 - 向钉钉群聊中发送报警消息下载完成后,将下载好的程序上传至服务器报警程序目录,这里我的配置的/usr/local/zabbix/alertscripts下。进入到脚本目录下,进行如下一系列操作[root@zabbix-server ~]# cd /usr/local/zabbix/alertscripts[root@zabbix-server alertscripts]# unzip...原创 2020-08-25 15:44:20 · 1204 阅读 · 0 评论 -
Zabbix监控指定端口
zabbix 监控指定端口原创 2022-11-04 18:08:03 · 1009 阅读 · 0 评论