lnmp环境部署核心是手动安装配置linux+nginx+mysql+php四组件,需满足公网ip、安全组放行22/80/443端口、内存≥4 gib等前提,并按nginx→mysql→php顺序安装,配置php-fpm与nginx通信,创建独立数据库用户及调优权限与安全参数。

在阿里云ECS上部署LNMP环境,核心是安装并配置 Linux + Nginx + MySQL + PHP 四个组件,确保它们协同工作、安全可用。实际操作中,推荐优先采用手动部署方式——它比一键脚本更可控,便于后续调优、排查和加固,也符合企业级生产环境要求。
明确前提条件再动手
部署前必须确认以下几点已就绪:
- ECS实例已运行,操作系统为 Alibaba Cloud Linux 3 / CentOS 7+ / Ubuntu 22.04 等主流发行版
- 实例已分配固定公网IP或绑定弹性公网IP(EIP)
- 安全组入方向已放行必要端口:22(SSH)、80(HTTP)、443(HTTPS);如需远程管理数据库,再加 3306(不建议长期开放)
- 实例内存 ≥ 4 GiB(PHP-FPM 和 MySQL 同时运行需足够内存)
- 已通过 Workbench 或 SSH 登录到实例终端
手动安装四步走,逐个击破
各组件按依赖顺序安装,避免版本冲突(尤其 WordPress/Typecho/ThinkPHP 对 PHP 和 MySQL 版本敏感):
-
Nginx:用系统包管理器安装稳定版
# Alibaba Cloud Linux / CentOS sudo dnf install nginx -y # 或 yum(CentOS 7) sudo systemctl enable nginx && sudo systemctl start nginx
-
MySQL(推荐 MySQL 8.0 或 Percona Server)
# Alibaba Cloud Linux 3(默认源含 MySQL 8.0) sudo dnf install mysql-server -y sudo systemctl enable mysqld && sudo systemctl start mysqld sudo mysql_secure_installation # 运行向导设 root 密码、删匿名用户等
-
PHP 及常用扩展(关键!LNMP跑PHP应用离不开这些)
# 安装 PHP 8.1+(兼容主流CMS)及必要扩展 sudo dnf install php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-xmlrpc php-opcache -y sudo systemctl enable php-fpm && sudo systemctl start php-fpm
-
验证基础连通性
创建/usr/share/nginx/html/info.php:<?php phpinfo(); ?>
浏览器访问
http://你的ECS公网IP/info.php,看到 PHP 信息页即说明 Nginx + PHP-FPM 通信正常。
配置Nginx支持PHP解析
修改默认站点配置(如 /etc/nginx/conf.d/default.conf),确保包含:
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000; # 或 unix:/run/php-fpm/www.sock
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
保存后执行 sudo nginx -t && sudo systemctl reload nginx 生效。
后续关键动作不能跳过
- 创建独立数据库与用户(不用 root 连接应用)
- 调整 PHP 配置(
/etc/php-fpm.d/www.conf中listen.owner/group权限、pm.max_children内存适配) - 关闭 Nginx 默认 server_tokens,隐藏版本号提升安全性
- 将网站根目录权限设为
nginx:nginx(非 root),禁止写入系统目录
不复杂但容易忽略











