阿里云服务器ecs配置php教程
阿里云服务器ECS配置PHP环境完整实战指南
在当今数字化浪潮下,Web应用开发日益普及,越来越多的开发者选择将项目部署于云端服务器,作为国内领先的云计算平台,阿里云(Alibaba Cloud)推出的弹性计算服务(ECS,Elastic Compute Service),凭借其高可用性、灵活扩展和成本可控等优势,成为搭建网站和运行PHP项目的理想选择。
对于使用WordPress、Laravel、ThinkPHP等主流PHP框架的开发者而言,在阿里云ECS上正确配置一个稳定高效的PHP运行环境至关重要,本文将以 CentOS 7.9 和 Ubuntu 20.04 LTS 为例,从零开始详细讲解如何在阿里云ECS实例中完成系统初始化、LNMP环境部署、安全加固及常见问题排查,助你快速构建一套生产级的PHP开发环境。
准备工作:购买并连接ECS实例
创建ECS实例
登录 阿里云官网,进入控制台,选择“云服务器ECS” → “创建实例”。
推荐配置如下:
- 操作系统:CentOS 7.9 或 Ubuntu 20.04 LTS(长期支持版本,社区生态完善)
- 实例规格:ecs.t6-c1m1.large(1核CPU + 2GB内存),适合中小型站点起步
- 网络类型:专有网络VPC(更安全,便于后续集成其他云产品)
- 安全组规则:开放以下端口
22:SSH远程登录80:HTTP访问443:HTTPS加密通信
⚠️ 建议启用密钥对认证方式替代密码登录,提升安全性。
使用SSH连接服务器
通过终端或工具如 Xshell、PuTTY 连接到你的ECS公网IP:
ssh root@你的公网IP地址
首次登录时,请根据提示设置root密码或导入私钥完成身份验证。
系统初始化:为环境搭建打基础
为确保系统稳定性和后续软件安装顺利,建议进行以下初始化操作。
更新系统包管理器
CentOS 系统:
yum update -y
Ubuntu 系统:
apt update && apt upgrade -y
安装常用工具集
安装必要的系统工具以提高运维效率:
# CentOS yum install -y wget curl vim net-tools tar gzip unzip # Ubuntu apt install -y wget curl vim net-tools tar gzip unzip
调整防火墙策略(按需)
若已通过阿里云安全组实现网络隔离,可临时关闭本地防火墙避免冲突:
CentOS(firewalld):
systemctl stop firewalld systemctl disable firewalld
Ubuntu(ufw):
ufw disable
✅ 提示:生产环境中建议结合安全组与本地防火墙双重防护,仅放行必要端口。
部署LNMP架构:Nginx + MySQL + PHP
我们采用性能优越的 LNMP 架构(Linux + Nginx + MySQL + PHP),相较于传统LAMP,具有更低资源消耗和更高并发处理能力,尤其适用于现代PHP应用。
安装 Nginx —— 高性能Web服务器
CentOS:
yum install -y nginx systemctl start nginx systemctl enable nginx
Ubuntu:
apt install -y nginx systemctl start nginx systemctl enable nginx
安装完成后,浏览器访问 http://你的公网IP,若出现 Nginx 欢迎页面,则表示Web服务器启动成功。
安装数据库(MySQL/MariaDB)
考虑到兼容性与维护便利性,推荐使用 MariaDB 替代 MySQL。
CentOS:
yum install -y mariadb-server mariadb systemctl start mariadb systemctl enable mariadb mysql_secure_installation # 执行安全初始化脚本
Ubuntu:
apt install -y mysql-server mysql-client systemctl start mysql systemctl enable mysql sudo mysql_secure_installation
🔐
mysql_secure_installation将引导你设置root密码、删除匿名用户、禁用远程root登录等关键安全步骤,请务必认真完成。
安装 PHP 及核心扩展(重点步骤)
默认仓库中的PHP版本较旧,无法满足现代框架需求,我们需要添加第三方源来安装最新版PHP(如 PHP 8.1 或 8.2)。
(1)添加 Remi 仓库(仅 CentOS)
# 安装 EPEL 支持 yum install -y epel-release # 下载并安装 Remi 仓库 wget https://rpms.remirepo.net/enterprise/remi-release-7.rpm rpm -Uvh remi-release-7.rpm # 启用 PHP 8.1 模块(也可选 php82) yum-config-manager --enable remi-php81
💡 Ubuntu 用户可通过
ppa:ondrej/php获取新版PHP:add-apt-repository ppa:ondrej/php apt update
(2)安装 PHP 及常用扩展
yum install -y php php-fpm php-mysqlnd \
php-gd php-xml php-mbstring \
php-curl php-zip php-json \
php-opcache php-intl php-bcmath
📌 关键组件说明:
php-fpm:FastCGI进程管理器,负责解析PHP脚本并与Nginx协作php-mysqlnd:原生MySQL驱动,支持PDO和mysqliphp-gd:图像处理库(验证码、缩略图生成必备)opcache:提升PHP执行效率,强烈建议开启
(3)启动并启用 PHP-FPM
systemctl start php-fpm systemctl enable php-fpm
检查状态是否正常:
systemctl status php-fpm
配置 Nginx 支持 PHP 解析
为了让Nginx能够正确解析 .php 文件,需修改其配置文件,启用FastCGI代理机制。
编辑默认站点配置:
vim /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name your_domain_or_ip;
root /usr/share/nginx/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000; # PHP-FPM监听地址
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# 隐藏敏感文件
location ~ /\.ht {
deny all;
}
}
保存后重启Nginx生效配置:
systemctl restart nginx
测试PHP环境是否就绪
创建一个简单的 info.php 文件用于验证:
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/info.php
打开浏览器访问:
👉 http://你的公网IP/info.php
如果页面显示详细的PHP信息表格(包括版本号、加载模块、配置路径等),说明环境已成功集成!
❗ 安全提醒:测试完成后请立即删除该文件!
rm /usr/share/nginx/html/info.php否则可能暴露服务器路径、PHP版本等敏感信息,带来安全隐患。
性能优化与安全增强建议
优化 PHP 配置参数
编辑主配置文件:
vim /etc/php.ini
调整以下关键参数以适应实际业务需求:
upload_max_filesize = 64M post_max_size = 64M max_execution_time = 300 memory_limit = 256M expose_php = Off cgi.fix_pathinfo = 0
expose_php=Off:防止HTTP头泄露PHP版本cgi.fix_pathinfo=0:防止恶意URL绕过导致代码执行风险
修改后重启PHP-FPM:
systemctl restart php-fpm
启用 HTTPS 加密通信(Let's Encrypt免费证书)
使用 Certbot 工具自动申请
版权声明
本站原创内容未经允许不得转载,或转载时需注明出处:特网云知识库
特网科技产品知识库


