Skip to main content
Version: 1.0

Linux 企业常用服务

本篇覆盖面试和实际运维中最常被问到的 8 个服务:Nginx、Apache、NTP 时间同步、FTP、SSH、Ansible 自动化运维、Zabbix 与 Prometheus 监控。每个服务按「用途 → 核心文件 → 常用操作 → 排错要点」组织。

统一前提:systemd 服务管理​

现在主流系统使用 systemd 管理服务,所有服务命令统一为 systemctl:

systemctl start nginx # 启动
systemctl stop nginx # 停止
systemctl restart nginx # 重启
systemctl status nginx # 查看状态
systemctl enable nginx # 设置开机自启
systemctl enable --now nginx # 启动 + 开机自启一步完成

日志排查: journalctl -u 服务名 查看指定服务的日志,排查服务报错优先看日志,而不是瞎猜。

防火墙: Rocky 使用 firewalld,Ubuntu 使用 ufw。访问服务不通优先检查防火墙策略——这是运维排错的第一反应。

1. Nginx 服务​

用途: 静态网站服务、反向代理、负载均衡——三个用途要能脱口而出。

安装: yum install nginx 或 apt install nginx。

核心目录(必背):

路径作用
/etc/nginx主配置目录
/etc/nginx/nginx.conf主配置文件
/etc/nginx/conf.d子配置目录,每个站点单独一个 conf 放这里
/usr/share/nginx/html默认网页根目录
/var/log/nginx日志目录:access.log 访问日志、error.log 错误日志

基础配置项:

server {
listen 80; # 监听端口,默认 80
server_name www.example.com; # 网站域名
root /usr/share/nginx/html; # 网页文件存放路径
index index.html index.htm; # 默认首页文件

location /api/ { # 匹配访问路径
proxy_pass http://127.0.0.1:8080; # 反向代理到后端
}
}

排错要点:

  • nginx -t 检查配置语法——配置写错服务无法启动,改配置后必须先测再 reload。
  • 访问失败排查顺序(背下来):服务是否启动 → 端口是否监听(ss)→ 防火墙是否放行 → 配置文件路径权限是否正确 → 日志查看报错信息。

2. Apache(httpd)服务​

用途: 老牌 Web 网站服务。

  • 包名差异:Rocky 叫 httpd,Ubuntu 叫 apache2。
  • 核心路径:配置 /etc/httpd(Rocky)/ /etc/apache2(Ubuntu),主配置 httpd.conf,网站根目录 /var/www/html,日志 /var/log/httpd。
  • 常用命令与 systemctl 标准一致,httpd -t 检查配置语法。

Nginx vs Apache 对比(高频):

对比项NginxApache(httpd)
进程模型事件驱动、异步非阻塞多进程模型
并发能力强,万级并发常见相对弱,每个连接占用更多资源
稳定性好稳定性好、老牌成熟
典型场景高并发、反向代理、静态资源传统 Web、与老系统配合

一句话总结:Nginx 并发强适合做入口(反代 / 负载均衡),Apache 稳定适合传统 Web 业务。

3. NTP 时间同步服务​

为什么需要: 服务器集群的时间必须一致——日志排序、数据库主从复制、分布式系统都依赖统一时间,时间不一致会导致排查日志困难、数据同步错乱。

企业主流方案: chrony(替代老的 ntpd)。

项内容
服务名chronyd
配置文件/etc/chrony.conf(写入上游 NTP 服务器地址)
验证同步源chronyc sources
验证同步状态chronyc tracking

常见问题排查: 时间不同步 → ① 检查 chronyd 服务是否启动;② 防火墙是否放行 UDP 123 端口;③ 上游时间服务器是否可达。

4. FTP 服务(vsftpd)​

  • 用途: 文件上传下载,内部文件传输。
  • 安装包:vsftpd;配置文件:/etc/vsftpd/vsftpd.conf。
  • 重点配置项:是否允许匿名访问、本地用户登录、上传权限。
  • 默认端口:21(控制连接,数据连接另行协商)。
  • 安全提醒(答题加分项): FTP 是明文传输(账号密码、文件内容都不加密),公网尽量不直接开放,优先使用 sftp(基于 SSH,传输全程加密)。

5. SSH 服务​

用途: 远程连接 Linux 服务器,默认端口 22。

项内容
服务名sshd
配置文件/etc/ssh/sshd_config(注意是 sshd_config 服务端,ssh_config 是客户端)

常用安全配置(高频):

Port 2222 # 修改默认端口,避开大量扫描
PermitRootLogin no # 禁止 root 远程登录
PasswordAuthentication no # 关闭密码登录
PubkeyAuthentication yes # 启用密钥登录

安全建议(必答): 生产环境关闭 root 密码登录,使用密钥登录——密钥比密码更长且不经过网络传输口令,能有效防御暴力破解。

6. Ansible 自动化运维​

用途: 批量管理多台 Linux 服务器,实现配置下发、脚本执行、批量部署。

核心特点: 无客户端 agent——被管理节点不需要安装任何程序,通信基于 SSH。这就是「为什么不需要在被控机器装客户端」的标准答案。

核心文件:

文件作用
/etc/ansible/ansible.cfg主配置文件
/etc/ansible/hosts主机清单,填写所有被管理服务器的 IP 并分组

两种使用方式:

# ① ad-hoc:单条命令批量执行,适合临时操作
ansible web -m shell -a "df -h"

# ② playbook:YAML 格式的任务剧本,适合可重复的批量任务
ansible-playbook test.yml
  • playbook 适合:批量安装 nginx、推送配置文件、创建用户、定时备份等需要沉淀为标准流程的场景。
  • 常用模块:shell、command、copy、file、yum/dnf、service、template。

排错要点: ① 确认控制节点可以 SSH 免密登录所有被控机器;② 检查主机清单分组是否正确;③ YAML 格式严格,缩进不能用 Tab。

7. Zabbix 监控​

用途: 老牌综合监控平台,监控服务器 CPU、内存、磁盘、端口、服务状态,支持告警。

四大组成(必背):

  1. Zabbix Server(服务端)
  2. Zabbix Agent(客户端,部署在被监控机器上采集数据)
  3. Web 前端页面
  4. 数据库(MySQL 存储监控数据)

端口: 服务端 10051,Agent 默认 10050。

基础流程: 安装服务端 + 数据库 → 被控主机安装 Agent → Web 页面添加主机 → 配置监控项、触发器、告警媒介。

适用场景: 传统运维监控,配置项丰富,适合中小型集群。

常见问题: Agent 无法上报数据 → 检查 10050/10051 端口连通性、防火墙、Agent 配置文件里的 Server 地址是否指向正确。

8. Prometheus 监控​

用途: 云原生时代主流监控,用时序数据库存储监控指标,搭配 Grafana 做可视化面板。

架构特点: 拉取(Pull)模式——Prometheus 主动去各个 exporter 抓取指标,而不是客户端主动上报。

配套组件:

组件作用
node-exporter采集服务器基础指标(CPU、内存、磁盘、网络)
grafana绘图面板,展示监控图表
alertmanager告警管理,支持短信、邮件、企业微信告警
  • 配置文件:prometheus.yml——配置监控目标(targets)、抓取间隔、告警规则。

Zabbix vs Prometheus 对比(高频)​

对比项ZabbixPrometheus
数据采集推送模型(Agent 上报)拉取模型(主动抓取)
适合环境传统主机、中小型集群容器、云原生环境(K8s 生态天然集成)
数据存储关系型数据库(MySQL)时序数据库
可视化自带 Web 前端搭配 Grafana,生态更强

一句话总结:Zabbix 推送、Prometheus 拉取;传统主机用 Zabbix,容器云原生用 Prometheus。

本篇速记​

  • 服务管理统一 systemctl,报错先 journalctl -u 服务名,不通先查防火墙。
  • Nginx 三用途:静态站点、反向代理、负载均衡;nginx -t 改配置后必做。
  • 集群必须时间同步,用 chrony(UDP 123);FTP 明文,公网用 sftp。
  • SSH 安全三板斧:改端口、禁 root、密钥登录。
  • Ansible 无 agent、靠 SSH;ad-hoc 干临时活,playbook 沉淀标准流程。
  • Zabbix 推送 + MySQL 存储,Prometheus 拉取 + 时序库 + Grafana。