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开机自启
五、常见问题与解决¶
- 权限不足:
普通用户执行systemctl命令会报错“Permission denied”,需加sudo:
sudo systemctl start nginx
- 服务启动失败:
用status或日志排查原因:
sudo systemctl status 服务名 # 查看错误提示
sudo journalctl -u 服务名 # 查看详细日志(如Nginx配置错误)
- 忘记服务名:
用list-unit-files列出所有服务:
systemctl list-unit-files | grep 服务关键词 # 如grep nginx
六、总结¶
- 核心命令:
start/stop/restart/status/enable/disable - 权限:需
sudo或 root 权限 - 服务名差异:不同发行版服务名可能不同(如CentOS的
httpdvs Ubuntu的apache2) - 排查技巧:用
status看状态,用journalctl查日志
多练习几次,你就能熟练管理服务器上的各种服务了!