
Linux 基础实战课 ⑥
装完了 Nginx,怎么把它跑起来
Linux基础 实战课
Linux 基础实战课 · 第 6 篇
————————————————
💬 上篇教了 vim 改配置文件,这篇很自然——配置改完了,服务怎么启动?
记得刚工作那会儿,在服务器上 apt install nginx 装好了,浏览器怎么都打不开。查了半天,原来装完不等于跑起来了——还需要手动启动。当时脑子里根本没有「服务管理」这个概念,觉得装完就应该自己跑。相信不少新手也有过同样的困惑。
这篇就讲一件事:Linux 上的软件装完之后,怎么启动、停止、重启、以及让它开机自动跑。
————————————————
一、systemd 和 systemctl 是什么关系
现在的 Linux 发行版(Ubuntu 16.04+、CentOS 7+)都用 systemd 来管理系统服务。systemctl 就是操作 systemd 的命令行工具。
你把它理解成 Windows 的「服务管理器」就行——在 Windows 里你打开 services.msc 可以看到一堆服务,右键启动、停止、设为自动。systemctl 就是命令行版的这个。
💡 以前的老系统用的是 service 命令(比如 service nginx start),现在虽然还能用,但底层其实已经转发给 systemctl 了。直接用 systemctl 就行。
二、核心命令:启动、停止、重启、查看状态
下面这四条是日常运维里使用频率最高的,没有之一:
systemctl start nginx | 启动 nginx 服务 |
systemctl stop nginx | 停止 nginx 服务 |
systemctl restart nginx | 重启 nginx(改了配置后常用) |
systemctl status nginx | 查看 nginx 当前状态 |
status 的输出怎么看?它会给出一段信息,最关键的是这几个字段:
Active: active (running) | 服务正在运行 ✅ |
Active: inactive (dead) | 服务没启动 ❌ |
Active: failed | 启动失败了,看日志排查 🔍 |
还有一个特别常用的——reload,只重载配置文件,不中断服务:
systemctl reload nginx | 重载配置(不重启,不断开连接) |
⚠️ restart 会先停再启,有瞬间中断。如果只是改了配置,优先用 reload。但如果改了监听端口或者编译了新模块,那就只能 restart。
三、开机自启:装完就忘,重启还能用
这是新手最容易忽略的一步。apt install 装完 Nginx 之后,它是跑起来了——但服务器一重启,它就没了。必须手动设为开机自启:
systemctl enable nginx | 设为开机自启 |
systemctl disable nginx | 取消开机自启 |
systemctl is-enabled nginx | 查看是否已设为开机自启 |
如果既要立即启动、又要开机自启,两条命令可以连着敲:
systemctl enable --now nginx | 一条命令 = enable + start |
💡 我在 VDI 项目里部署完一台新服务器之后,最后一步一定是跑一遍 systemctl enable xxx,把所有业务服务都设为自启——不然半夜机房断电重启,第二天早上电话就被打爆了。
四、实战:Nginx 完整部署流程
把之前学的串起来,装一个 Nginx 并让它稳定运行的完整流程:
① 安装软件包:
apt install nginx -y | 装 Nginx |
② 查看服务状态:
systemctl status nginx | 装完一般是 inactive,需要手动启动 |
③ 启动并设开机自启:
systemctl enable --now nginx | 一步到位 |
④ 改配置(用上一篇学的 vim):
vim /etc/nginx/nginx.conf | 改配置 |
⑤ 重载配置生效:
systemctl reload nginx | 不中断服务 |
⑥ 验证:
systemctl status nginx | 确认 active (running) |
六步走完,Nginx 已经在你的服务器上稳定运行了。
五、systemctl 命令速查表
下面是日常用的频率最高的 12 条,存下来当备忘:
功能 | 命令 |
启动服务 | systemctl start 服务名 |
停止服务 | systemctl stop 服务名 |
重启服务 | systemctl restart 服务名 |
重载配置 | systemctl reload 服务名 |
查看状态 | systemctl status 服务名 |
设为开机自启 | systemctl enable 服务名 |
取消开机自启 | systemctl disable 服务名 |
是否已设为自启 | systemctl is-enabled 服务名 |
启用并立即启动 | systemctl enable --now 服务名 |
列出所有服务 | systemctl list-units --type=service |
查看失败的服务 | systemctl --failed |
查看服务日志 | journalctl -u 服务名 -f |
总结
systemctl 就这五件事是最常用的:
① start / stop —— 启停服务
② restart / reload —— 重启和重载配置
③ status —— 看服务状态(出问题第一件事就跑这个)
④ enable / disable —— 管开机自启(最容易忘的一步)
⑤ enable --now —— 省事的组合拳
掌握了这五条,你就能管住服务器上的所有服务了。下一课,我们看看怎么排查服务器的磁盘和存储问题。
————————————————
下篇预告:《Linux 基础实战课⑦|磁盘与存储基础:df / du / mount,服务器快满了怎么办》。
💬 你有没有装好软件之后发现跑不起来,最后发现只是忘了 start 的经历?
评论区聊聊,我猜很多人都有这种经历
👍 点赞💬 留言🔄 转发给需要的朋友
有问题欢迎评论区留言,看到都会回复