在阿里云上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP)环境,需兼顾安全性、稳定性、性能及阿里云最佳实践。以下是关键的基础系统配置建议(以主流 CentOS 7/8 或 Alibaba Cloud Linux 3/Ubuntu 20.04+ 为例):
✅ 一、实例选型与基础配置
| 项目 | 推荐配置 | 说明 |
|---|---|---|
| ECS 实例规格 | ≥ 2核4GB(轻量级应用);生产环境建议 4核8GB+ | 内存不足易导致 MySQL OOM 或 PHP-FPM 崩溃 |
| 操作系统 | ✅ Alibaba Cloud Linux 3(推荐)或 CentOS 7/8(已停更,慎用)、Ubuntu 22.04 LTS | Alibaba Cloud Linux 3 深度优化、内核安全补丁及时、兼容性好 |
| 系统盘 | ≥ 100GB 高效云盘(SSD) | 系统+日志+应用部署空间预留充足 |
| 网络类型 | VPC 网络(非经典网络) | 支持安全组精细化控制、私有网络隔离 |
| 安全组 | 最小化开放端口: • 入方向: 80(HTTP)、443(HTTPS)、22(SSH,建议限制源IP)• 出方向:全通(或按需开放 80/443/3306 等) |
❗禁止开放 3306(MySQL)到公网!数据库应仅限内网访问 |
✅ 二、系统级安全与稳定性配置
| 配置项 | 操作建议 | 目的 |
|---|---|---|
| SELinux | enforcing 模式(Alibaba Cloud Linux/CentOS 默认启用)✅ 配合 semanage port -a -t http_port_t -p tcp 8080(如需自定义端口) |
强制访问控制,防止越权读写 Web 目录 |
| 防火墙(firewalld/ufw) | 启用并配置规则(与安全组协同),禁用 iptables-services(避免冲突) |
双层防护,精细管控本地端口 |
| 时区与时间同步 | timedatectl set-timezone Asia/Shanghai + systemctl enable chronyd |
防止日志时间错乱、证书校验失败 |
| 内核参数优化(可选) | 调整 net.core.somaxconn、vm.swappiness=1、fs.file-max 等(根据负载调整) |
提升高并发连接能力与内存效率 |
| 自动安全更新 | Alibaba Cloud Linux:启用 yum-cron 或 dnf-automatic(仅打安全补丁) |
降低漏洞风险(⚠️ 生产环境建议先测试) |
✅ 三、LAMP 组件部署要点(推荐方式)
| 组件 | 推荐安装方式 | 关键配置建议 |
|---|---|---|
| Apache | yum install httpd(Alibaba Cloud Linux/CentOS)apt install apache2(Ubuntu) |
• 启用 mod_rewrite(支持伪静态)• 禁用 ServerSignature Off & ServerTokens Prod(隐藏版本信息)• 日志路径设为 /var/log/httpd/,按日轮转(logrotate) |
| MySQL / MariaDB | ✅ 强烈推荐 AliSQL(阿里云定制版 MySQL 5.7/8.0)或 MySQL 8.0 (通过阿里云 RDS 更佳) • 若自建: yum install mariadb-server 或下载官方 MySQL YUM repo |
• 绑定 127.0.0.1 或内网 IP(bind-address)• 初始化强密码: mysql_secure_installation• 创建专用数据库用户(非 root),授权最小权限 |
| PHP | yum install php php-mysqlnd php-gd php-xml php-mbstring php-opcache(Alibaba Cloud Linux) |
• 设置 memory_limit = 256M、upload_max_filesize = 64M• 启用 opcache(提升性能)• 禁用危险函数: disable_functions = exec,passthru,shell_exec,system,proc_open,popen |
| Web 目录权限 | /var/www/html 所属 apache:apache(CentOS)或 www-data:www-data(Ubuntu)✅ 文件 644,目录 755,禁止 777 |
防止 WebShell 提权 |
✅ 四、阿里云专属最佳实践
| 场景 | 推荐方案 | 优势 |
|---|---|---|
| 数据库 | ✅ 使用阿里云 RDS MySQL/MariaDB(而非 ECS 自建) | 高可用(主备自动切换)、自动备份、一键扩容、安全审计、免运维 |
| Web 静态资源 | 配合 OSS + CDN 托管图片/CSS/JS | 卸载 ECS 带宽压力,提速全球访问,降低成本 |
| HTTPS | ✅ 免费 SSL 证书(阿里云 SSL Certificates Service) + Apache 配置 HTTPS | 浏览器信任、SEO 加分、强制 HTTPS(HSTS) |
| 备份与监控 | • 使用 云服务器备份服务(CBS) 定时快照 • 配置 云监控(CloudMonitor) 告警(CPU > 80%、磁盘 > 90%) |
故障快速恢复,异常实时感知 |
⚠️ 必须规避的风险点
- ❌ 不修改 MySQL root 密码或使用弱密码(如
123456) - ❌ 将网站根目录设为
/root或/home/user(SELinux/权限问题) - ❌ 在生产环境关闭 SELinux/firewalld(应配置策略而非禁用)
- ❌ 未配置 PHP 错误显示(
display_errors = Off,改用error_log记录) - ❌ 忘记设置
AllowOverride All(影响.htaccess重写)
✅ 附:快速验证命令(部署后执行)
# 检查服务状态
systemctl status httpd mysqld php-fpm
# 测试 PHP 解析
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
# 检查 MySQL 连接(本地)
mysql -u your_user -p -e "SHOW DATABASES;"
# 检查端口监听
ss -tlnp | grep ':80|:443|:3306'
如需,我可为你提供:
- ✅ 完整的一键部署脚本(Alibaba Cloud Linux 3 + Apache + MySQL 8.0 + PHP 8.1)
- ✅ HTTPS 强制跳转 + HTTP/2 配置示例
- ✅ WordPress/Laravel 的 LAMP 专项优化配置
- ✅ RDS + ECS 联动架构图与连接教程
欢迎告知你的具体场景(如:个人博客、企业官网、开发测试),我可以为你定制最简安全方案 👇
CLOUD云计算