用途:管理标准 Web 栈中的 Nginx、Apache/httpd、PHP-FPM、Node.js 服务,排查反向代理行为、上游失败、PHP 工作进程调优,并在重载线上服务前校验配置。新站点上线不由本技能负责(另有 linux-site-deployment),证书生命周期与防火墙策略由 linux-firewall-ssl 负责。
主要能力与分发差异:Nginx 跨族可移植(均用 conf.d)。Apache 差异最大:RHEL 族为 httpd 与扁平 /etc/httpd/conf.d/ 模型,无 sites-available/a2ensite,且 SELinux 可能拦截权限正确的站点。Debian/Ubuntu 用 apache2/apache2ctl、sites-available + a2ensite、/etc/apache2/、www-data、/var/log/apache2/、/etc/php/8.x/fpm/pool.d/、/run/php/php8.x-fpm.sock;RHEL 族用 httpd/apachectl、/etc/httpd/、apache、/var/log/httpd/、/etc/php-fpm.d/、/run/php-fpm/www.sock,MAC 侧涉及 SELinux 的 httpd_sys_content_t、httpd_can_network_connect。
使用方式(命令保持原样):校验与重载示例 sudo nginx -t;sudo nginx -t && sudo systemctl reload nginx;sudo systemctl restart nginx;启停站点用 sudo ln -s /etc/nginx/sites-available/<domain>.conf /etc/nginx/sites-enabled/ 与 sudo rm /etc/nginx/sites-enabled/<domain>.conf;日志用 sudo tail -f /var/log/nginx/error.log。排查 502:sudo tail -20 /var/log/nginx/error.log、sudo systemctl status php8.3-fpm、sudo systemctl status apache2、ls -la /run/php/php8.3-fpm.sock、sudo systemctl restart php8.3-fpm。Apache 用 sudo apache2ctl configtest、sudo a2ensite/a2dissite;PHP-FPM 用 sudo php-fpm8.3 -t、sudo systemctl reload php8.3-fpm;Node.js 用 sudo systemctl status <service-name>、sudo journalctl -u <service-name> -n 50 --no-pager。
适用场景与限制:适合分层定位首个失败跳点、按发行版族使用正确的单元名/路径/socket/SELinux 控制,并做端到端请求验证。诊断默认只读;编辑配置、改变标签/布尔值、重载或重启生产服务需明确授权与回滚。缺主机或请求访问时只输出请求跳点诊断树,不据静态片段推断健康。禁止一次性重启所有服务、重载未校验配置、把 502 都归因 Nginx、为让代理或文档根生效而关闭 SELinux、无内存与请求证据地调 PHP-FPM 或 worker。当前检出未附带 Nginx/Apache 重载、PHP-FPM pool 或 MySQL 调优/审计包装脚本;其余信息暂未提供。