Linux服务管理应优先使用systemd:用systemctl status/start/enable查状态、启停、设自启;验证端口监听与日志;配置修改后依服务类型选择reload或restart;区分系统级与用户级服务路径及命令。

Linux服务管理核心就一条:用对工具、看清状态、分清启动方式。别一上来就改配置或删进程,很多问题其实只是服务没真正启动,或者被systemd和旧脚本混着管了。
systemd是默认管家,别绕开它乱操作
现代主流发行版(Ubuntu 16.04+、CentOS 7+、Debian 8+)都用systemd统一管理服务。用service命令或直接调/etc/init.d/xxx脚本,多数时候只是兼容层,背后还是走systemd。硬切回SysV风格,反而容易状态错乱。
- 查服务真实状态:用 systemctl status nginx,不是 service nginx status
- 启停服务:用 systemctl start/stop nginx,别再 chmod +x /etc/init.d/nginx 然后 ./xxx
- 开机自启:用 systemctl enable nginx,不是 chkconfig nginx on(后者在systemd下已失效)
“启动成功”不等于“服务可用”,得看端口和日志
systemctl显示 active (running),不代表你的Web服务真能响应请求。常见假成功:进程起来了,但配置写错、端口被占、权限不足,导致监听失败。
- 确认监听:运行 ss -tlnp | grep :80 或 netstat -tuln | grep :80
- 看实时日志:用 journalctl -u nginx -f(-f 实时跟踪),比翻/var/log/nginx/error.log更快定位启动报错
- 测试连通性:本地用 curl -I http://127.0.0.1,别只信 systemctl 的绿色提示
配置改完不生效?别忘重载或重启
修改了 /etc/nginx/nginx.conf 或 /etc/my.cnf 后,光 reload 不一定够——有些服务(如MySQL)reload只重读部分配置,关键参数(如bind-address、datadir)必须 restart 才生效;而Nginx reload 是安全的,但前提是语法正确(先 nginx -t 验证)。
标签: mysql linux centos nginx app 端口 ubuntu 工具 curl
还木有评论哦,快来抢沙发吧~