Alibaba Cloud Linux 3部署LNMP需适配其特性:用dnf而非yum,启用mysql80/php81模块;SELinux需为自定义目录打标签;MySQL须手动初始化数据库;PHP-FPM与Nginx用户必须统一为nginx并匹配socket权限。
Alibaba Cloud Linux 是阿里云深度优化的发行版,部署云服务器环境时不能直接套用 CentOS 或 Ubuntu 的通用脚本,尤其在软件源、默认服务管理、SELinux 策略和内核模块行为上存在差异。直接照搬社区教程容易卡在 yum install nginx 失败、systemctl start mysqld 报错或 PHP-FPM 无法与 Nginx 通信等环节。
确认系统版本并启用正确软件源
Alibaba Cloud Linux 3 默认使用 dnf 而非 yum,且官方源已预置 LNMP/LAMP 组件,但部分包(如 MySQL)需手动启用仓库:
执行 cat /etc/os-release | grep pretty_name 确认是 alibaba cloud linux 3.x;
检查默认启用的仓库:dnf repolist enabled;
若缺少 mysql 或 php 源,运行:dnf config-manager --set-enabled mysql80 php81(注意:Alibaba Cloud Linux 3 默认提供 mysql80 和 php81 模块,不推荐手动添加第三方 RPM 包);
避免使用 rpm -Uvh http://dev.mysql.com/get/... 类命令——该地址已失效,且会破坏 dnf 依赖图。
安装 Nginx 时绕过 SELinux 干预
Alibaba Cloud Linux 3 默认启用 SELinux(Enforcing),但 Nginx 默认配置的 root 目录(如 /usr/share/nginx/html)有严格上下文限制:
安装后先不启动:dnf install -y nginx;
检查 SELinux 状态:getenforce(应为 Enforcing);
若自定义网站根目录(如 /data/www),必须打标签:semanage fcontext -a -t httpd_sys_content_t "/data/www(/.*)?",再执行 restorecon -Rv /data/www;
直接改 nginx.conf 的 root 路径却不处理 SELinux 上下文,会导致 403 Forbidden,且错误日志里不会明说原因。
MySQL 启动失败常见于初始化逻辑变更
Alibaba Cloud Linux 3 中的 mysql80 模块不再自动生成临时 root 密码,也不写入 /var/log/mysqld.log:
安装后首次启动:systemctl start mysqld;
若失败,检查:journalctl -u mysqld -n 50 --no-pager,常见报错是 Failed to initialize database;
此时需手动初始化:mysqld --initialize --user=mysql --datadir=/var/lib/mysql --basedir=/usr(注意路径与 my.cnf 中一致);
初始化成功后,systemctl start mysqld 才能正常运行;
切勿跳过初始化直接 mysql_secure_installation,否则提示 Can't connect to local MySQL server。
PHP-FPM 与 Nginx 的 socket 权限必须显式对齐
php-fpm 在 Alibaba Cloud Linux 3 默认以 apache 用户运行,而 Nginx 默认用 nginx 用户,两者 UID/GID 不同会导致 Unix socket 连接拒绝:
编辑 /etc/php-fpm.d/www.conf,确认:user = nginx、group = nginx;
同时确保 listen.owner 和 listen.group 也设为 nginx;
Nginx 配置中 fastcgi_pass 必须指向同一 socket 文件,例如:fastcgi_pass unix:/run/php-fpm/www.sock;
修改后依次执行:systemctl restart php-fpm、systemctl restart nginx;
漏掉用户对齐这一步,502 Bad Gateway 会持续出现,且 php-fpm 日志无明显错误。
/run/php-fpm)由 tmpfiles.d 管理,手动创建目录或 chown 可能被下次 reboot 清除。


















