在阿里云上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP)环境,需从系统基础配置入手,确保稳定性、安全性与性能。以下是关键的基础系统配置建议(以主流 CentOS 7/8 或 Alibaba Cloud Linux 3 / Ubuntu 22.04 LTS 为例):
✅ 一、实例选择与初始化配置
-
ECS 实例规格
- 推荐:2核4GB 起(轻量级应用),高并发或数据库混合部署建议分离(如 Apache+PHP 用 Web 实例,MySQL 用独占 RDS)
- 系统镜像:优先选用 Alibaba Cloud Linux 3(兼容 RHEL 8/CentOS 8) 或 Ubuntu 22.04 LTS(长期支持、安全更新及时);避免使用已停止维护的 CentOS 6/7(EOL)
-
安全组配置(必须!)
- 开放必要端口(最小权限原则):
80/tcp(HTTP)443/tcp(HTTPS,后续配 SSL 时启用)22/tcp(SSH,强烈建议修改默认端口 + 配置密钥登录 + 禁用 root 密码登录)- ❌ 禁止开放
3306(MySQL)公网端口!若需远程访问,应通过跳板机、VPC 内网或阿里云 RDS 白名单 + 安全组内网互通实现
- 开放必要端口(最小权限原则):
-
网络与域名
- 绑定弹性公网 IP(EIP)或配置 EIP+SLB(负载均衡)
- 建议配置云解析 DNS,将域名指向 EIP 或 SLB 地址
- 启用 VPC 网络,Web 服务器与数据库(如自建 MySQL)建议部署在同一 VPC 内网,提升安全与延迟
✅ 二、系统级安全与优化配置
-
基础安全加固
- 更新系统:
# Alibaba Cloud Linux / CentOS 8+ sudo dnf update -y # Ubuntu sudo apt update && sudo apt upgrade -y - 创建普通用户并授予 sudo 权限(禁用 root SSH 登录):
sudo adduser deploy sudo usermod -aG wheel deploy # CentOS/Alinux # 或 sudo usermod -aG sudo deploy # Ubuntu sudo sed -i 's/^#PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config sudo systemctl restart sshd - 配置防火墙(启用并仅放行必需端口):
# Alibaba Cloud Linux 3 / CentOS 8+(firewalld) sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload # 或 Ubuntu(ufw) sudo ufw allow OpenSSH sudo ufw allow 'Apache Full' sudo ufw enable
- 更新系统:
-
时间同步(NTP)
sudo timedatectl set-ntp true sudo timedatectl status # 确认同步正常(推荐使用阿里云 NTP 服务器:ntp1.aliyun.com) -
内核参数优化(可选,适用于中高负载)
编辑/etc/sysctl.conf添加(按需调整):# 提高连接数与网络性能 net.core.somaxconn = 65535 net.ipv4.tcp_max_syn_backlog = 65535 fs.file-max = 100000 vm.swappiness = 10 # 降低交换分区使用(SSD 环境建议)执行
sudo sysctl -p生效。
| ✅ 三、LAMP 组件安装前的关键准备 | 组件 | 推荐方式 | 注意事项 |
|---|---|---|---|
| Apache | 系统包管理器(dnf install httpd / apt install apache2) |
启用 mod_rewrite、禁用 ServerSignature(安全) |
|
| MySQL | 强烈推荐阿里云 RDS MySQL(高可用、自动备份、安全审计) 若自建:用 mariadb-server(Alinux/CentOS)或 mysql-server(Ubuntu) |
自建务必:改 root 密码、删除匿名用户、禁用远程 root、运行 mysql_secure_installation |
|
| PHP | 选用 PHP 8.1+(安全 & 性能),通过 Remi 仓库(CentOS/Alinux)或 ondrej PPA(Ubuntu)安装 | 启用 OPcache、调整 memory_limit/upload_max_filesize(如 256M/64M) |
|
| SSL 证书 | 使用 阿里云免费 DV 证书 或 Let’s Encrypt(certbot) | 配置 HTTPS 强制跳转(.htaccess 或 VirtualHost) |
✅ 四、其他最佳实践建议
- ✅ 数据持久化:网站代码存于
/var/www/html,但数据库文件、上传目录(如wp-content/uploads)建议挂载独立云盘(ESSD) 并设置自动快照 - ✅ 日志管理:启用 Apache/PHP 错误日志,定期轮转(logrotate),敏感信息不记录到日志
- ✅ 监控告警:接入阿里云 云监控(CloudMonitor),监控 CPU、内存、磁盘、HTTP 状态码(如 5xx)
- ✅ 备份策略:
- 代码:Git 版本控制 + 定期推送到私有仓库(如阿里云 Codeup)
- 数据库:RDS 自动备份 + 跨地域备份;自建 MySQL 用
mysqldump+ OSS 存储备份脚本
- ✅ WAF 防护:为生产站点开通 阿里云 Web 应用防火墙(WAF),防御 SQL 注入、XSS、CC 攻击
📌 总结一句话:
“安全基线先行,网络隔离为本,服务组件精简,运维可观测” —— 先完成安全组、防火墙、用户权限、时间同步等基础加固,再安装 LAMP,最后通过 RDS + WAF + 监控构建生产就绪环境。
如需具体某一步的详细命令(如 Ubuntu 22.04 安装 PHP 8.2 + Apache + MariaDB 完整流程),欢迎告知您的操作系统版本,我可提供分步脚本 👇
CLOUD云枢