启动nginx报错Failed to start nginx.service: Unit is not loaded properly: Bad message

1.报错分析

使用创建服务脚本:

vi /usr/lib/systemd/system/nginx.service
systemctl daemon-reload
systemctl start nginx.service

报错是因为我的配置文件:
/usr/lib/systemd/system/nginx.service没有被按正确格式编写导致。改好之后重新加载就可以了.
具体问题分析一下。

通过报错日志看第2行、第8行、第9行报错。主要是我在编写nginx.service文件时,把第2行的单词“Description”写成“Descri ption”了,第8行的单词“ExecStartPre”写成“ExecstartPre”,还有第9行的ExecStartPre的“-t -c ”后面的内容“/usr/local/nginx/conf/nginx.conf”不能换行。

2.正确的nginx.service内容

[Unit]
Description=nginx - web 
[root@Docker-register ~]# systemctl list-units --type=service --state=running UNIT LOAD ACTIVE SUB DESCRIPTION auditd.service loaded active running Security Auditing Service chronyd.service loaded active running NTP client/server couchbase-server.service loaded active running Couchbase Server crond.service loaded active running Command Scheduler dbus.service loaded active running D-Bus System Message Bus docker.service loaded active running Docker Application Container Engine getty@tty1.service loaded active running Getty on tty1 gssproxy.service loaded active running GSSAPI Proxy Daemon irqbalance.service loaded active running irqbalance daemon lvm2-lvmetad.service loaded active running LVM2 metadata daemon metricbeat.service loaded active running Metricbeat is a lightweight shipper for metrics. NetworkManager.service loaded active running Network Manager polkit.service loaded active running Authorization Manager postfix.service loaded active running Postfix Mail Transport Agent rhnsd.service loaded active running LSB: Starts the Spacewalk Daemon rhsmcertd.service loaded active running Enable periodic update of entitlement certificates. rpcbind.service loaded active running RPC bind service rsyslog.service loaded active running System Logging Service sshd.service loaded active running OpenSSH server daemon systemd-journald.service loaded active running Journal Service systemd-logind.service loaded active running Login Service systemd-udevd.service loaded active running udev Kernel Device Manager tuned.service loaded active running Dynamic System Tuning Daemon vgauthd.service loaded active running VGAuth Service for open-vm-tools vmtoolsd.service loaded active running Service for virtual machines hosted on VMware zabbix-agent.service loaded active running Zabbix Agent LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. 26 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'.
03-18
<think>好的,我现在需要帮助用户理解他们执行`systemctl list-units --type=service --state=running`命令后的输出结果。首先,用户已经提供了具体的输出内容,我需要分析这些信息并给出清晰的解释。 首先,用户可能想知道这个命令的作用。这个命令用于列出当前正在运行的系统服务。接下来,我需要解释输出中的各个列:UNIT、LOAD、ACTIVE、SUB、DESCRIPTION。这些列分别代表服务单元的名称、是否加载成功、高级激活状态、低级状态以及服务描述。 然后,用户给出的输出中有多个服务,比如auditd、chronyd、docker等。我需要挑选一些关键服务进行简要说明,帮助用户理解哪些服务在运行及其作用。例如,docker.service是Docker容器引擎,sshd.service是SSH服务器,这对用户管理服务器很重要。 用户可能还想知道底部的注释部分,比如LOAD和ACTIVE的含义,以及为什么有26个加载的单元。我需要解释这些注释,并指导用户如何查看所有已安装的服务或包括不活跃的服务。 此外,用户可能有后续操作的需求,比如如何停止或重启某个服务,或者如何过滤更多信息。我应该提供相应的命令示例,如`systemctl restart docker.service`,并提醒谨慎操作,尤其是生产环境中。 需要注意用户的技术水平,避免使用过于专业的术语,保持解释简洁明了。同时,检查是否有权限问题,比如使用sudo,以及不同Linux发行版可能存在的服务名称差异。最后,确保回答结构清晰,分点说明,帮助用户逐步理解输出内容,并能够进行进一步操作。</think>### 命令输出解析 你执行了 `systemctl list-units --type=service --state=running`,该命令用于列出当前 **正在运行的系统服务**。以下是关键信息的解读: --- #### **输出列说明** | 列名 | 含义 | |------------|----------------------------------------------------------------------| | `UNIT` | 服务名称(如 `docker.service` 表示 Docker 容器引擎服务) | | `LOAD` | 服务配置是否成功加载到内存(`loaded` 表示已加载) | | `ACTIVE` | 服务整体状态(`active` 表示正在运行) | | `SUB` | 服务的详细子状态(如 `running` 表示进程持续运行中) | | `DESCRIPTION` | 服务的简要功能描述 | --- #### **关键服务说明** 1. **`docker.service`** - **作用**:Docker 容器引擎的核心服务,用于管理容器生命周期。 - **状态**:持续运行(`active (running)`),表明 Docker 正在工作。 2. **`sshd.service`** - **作用**:OpenSSH 服务器,允许通过 SSH 协议远程登录服务器。 - **重要性**:若此服务停止,将无法远程连接服务器(需物理控制台操作)。 3. **`postfix.service`** - **作用**:邮件传输代理(MTA),负责服务器发送邮件。 - **常见用途**:系统报警邮件、应用程序邮件通知。 4. **`zabbix-agent.service`** - **作用**:Zabbix 监控系统的客户端,用于向监控服务器上报性能数据。 - **典型监控项**:CPU、内存、磁盘、网络等资源状态。 5. **`chronyd.service`** - **作用**:NTP 客户端/服务器,负责时间同步。 - **重要性**:时间不同步可能导致证书验证失败、日志混乱等问题。 6. **`auditd.service`** - **作用**:安全审计服务,记录系统安全事件(如文件访问、用户权限变更)。 - **合规要求**:常用于满足等保、GDPR 等安全审计需求。 --- #### **底部注释说明** 1. **`26 loaded units listed`** - 表示当前共有 26 个已加载的服务,且这些服务均处于活跃状态(`active`)。 - 若需查看所有服务(包括未运行的服务),可执行: ```bash systemctl list-units --type=service --all ``` 2. **`Pass --all to see loaded but inactive units`** - 使用 `--all` 参数可显示已加载但未激活的服务(如已配置但未启动的服务)。 --- ### **后续操作建议** 1. **查看单个服务详情**: ```bash systemctl status docker.service # 替换为具体服务名 ``` 2. **停止/重启服务**: ```bash systemctl stop docker.service # 停止服务 systemctl restart docker.service # 重启服务 ``` 3. **过滤服务**: ```bash systemctl list-units --type=service | grep nginx # 按关键词筛选 ``` --- ### **注意事项** 1. **谨慎操作**:停止关键服务(如 `sshd`、`docker`)可能导致业务中断。 2. **生产环境**:建议通过日志确认服务健康状态后再操作: ```bash journalctl -u docker.service --since "2024-01-01" # 查看 Docker 日志 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值