Linux服务器上运行着各种服务(如Web服务器、数据库、邮件服务等),这些服务需要手动启动才能提供功能,停止才能释放资源。作为Linux新手,掌握服务的启动、停止和状态查看命令是服务器管理的基础。本文将用最简单的方式讲解这些核心命令,让你快速上手。

一、什么是Linux服务?

简单来说,服务就是在后台持续运行的程序,比如:
- Nginx/Apache:提供网站访问服务
- MySQL/MariaDB:提供数据库存储服务
- SSH:提供远程登录服务
- FTP:提供文件传输服务

这些服务需要“启动”才能正常工作,“停止”才能关闭或更新。

二、常用服务管理工具:systemctl(新手必学)

现在主流Linux发行版(如CentOS 7+/RHEL 7+/Ubuntu 16+)都使用 systemd 作为服务管理系统,通过 systemctl 命令管理服务。
核心格式

sudo systemctl [命令] [服务名]

sudo 表示需要管理员权限,普通用户需加 sudo 才能执行管理命令)

三、systemctl核心命令详解

命令 作用 示例(启动Nginx)
start 启动服务 sudo systemctl start nginx
stop 停止服务 sudo systemctl stop nginx
restart 重启服务(先停后启) sudo systemctl restart nginx
reload 重载配置(无需停止服务) sudo systemctl reload nginx
status 查看服务状态 sudo systemctl status nginx
enable 设置开机自动启动 sudo systemctl enable nginx
disable 禁止开机自动启动 sudo systemctl disable nginx

四、实例:管理常见服务

1. 启动/停止Web服务器

  • CentOS/RHEL:Web服务名为 httpd(Apache)
  sudo systemctl start httpd    # 启动Apache
  sudo systemctl stop httpd     # 停止Apache
  • Ubuntu/Debian:Web服务名为 apache2
  sudo systemctl start apache2  # 启动Apache
  sudo systemctl stop apache2   # 停止Apache

2. 启动/停止数据库服务

  • CentOS/RHEL:数据库服务名为 mariadb(MySQL替代品)
  sudo systemctl start mariadb  # 启动MariaDB
  sudo systemctl stop mariadb   # 停止MariaDB
  • Ubuntu/Debian:数据库服务名为 mysql
  sudo systemctl start mysql    # 启动MySQL
  sudo systemctl stop mysql     # 停止MySQL

3. 检查服务状态

status 命令确认服务是否运行:

sudo systemctl status sshd  # 查看SSH服务状态(所有系统通用)
  • 输出中 active (running) 表示服务正常运行;
  • inactive (dead) 表示服务已停止。

4. 设置开机自启

让服务开机自动运行,避免手动启动:

sudo systemctl enable nginx  # 开机自动启动Nginx
sudo systemctl disable nginx # 禁止Nginx开机自启

五、常见问题与解决

  1. 权限不足
    普通用户执行 systemctl 命令会报错“Permission denied”,需加 sudo
   sudo systemctl start nginx
  1. 服务启动失败
    status 或日志排查原因:
   sudo systemctl status 服务名  # 查看错误提示
   sudo journalctl -u 服务名    # 查看详细日志(如Nginx配置错误)
  1. 忘记服务名
    list-unit-files 列出所有服务:
   systemctl list-unit-files | grep 服务关键词  # 如grep nginx

六、总结

  • 核心命令start/stop/restart/status/enable/disable
  • 权限:需 sudo 或 root 权限
  • 服务名差异:不同发行版服务名可能不同(如CentOS的httpd vs Ubuntu的apache2
  • 排查技巧:用 status 看状态,用 journalctl 查日志

多练习几次,你就能熟练管理服务器上的各种服务了!

小夜