LHIDC

Linux 服务启动失败怎么查?`systemctl status` 和日志怎么看

服务启动失败时,别急着重装环境。先看 `systemctl status`、journal 日志和配置语法,判断是配置错误、端口冲突、权限问题还是依赖服务没起来。

Linux 上一个服务起不来,问题不一定在服务本身。有时是配置写错,有时是端口被占用,有时是权限不对,也可能是数据库、Redis、证书文件没准备好。单看“failed”这两个字没有意义,关键是把日志看懂。

先看状态,不要先重启

systemctl status 服务名

这条命令会告诉你服务是 `active`、`failed` 还是 `inactive`,以及最近一次失败的简短原因。很多时候,状态窗口里已经有一半答案。

再看日志

journalctl -u 服务名 -n 80 --no-pager

日志里如果出现:

- `address already in use`,说明端口冲突
- `permission denied`,说明权限不对
- `no such file or directory`,说明文件路径或配置缺失
- `syntax error`,说明配置语法错了

不同报错,处理方式完全不同。

常见判断

报错可能原因先处理什么
`failed to start`总体启动失败看 journal
`address already in use`端口占用查 `ss -lntp`
`permission denied`文件或目录权限查文件属主和权限
`no such file or directory`路径缺失查配置路径
`config test failed`配置语法错先修配置再重启

配置先测试

sshd -t
nginx -t
php-fpm -t

不同服务都有自己的测试命令。能测语法的先测语法,别直接重启。

有些失败不是服务自己的问题

例如网站服务起不来,实际是数据库没启动;邮件服务失败,可能是 SMTP 配置错了;反代服务失败,可能是上游地址写错。这种情况要把依赖也一起看,不要只盯着当前进程。

上一篇 Linux Load Average 很高代表什么?和 CPU 占用有什么区别 下一篇 香港服务器怎么选?先看线路、带宽还是机房位置

LHIDC 产品中心

继续查看可购买的海外服务器产品

文章用于辅助选型,最终价格、库存与配置请以产品详情页和下单页面展示为准。

查看产品 查看方案