官方网站 云服务器 专用服务器香港云主机28元月 全球云主机40+ 数据中心地区 成品网站模版 企业建站 业务咨询 微信客服 控制版面

阿里云服务器ecs配置php教程

admin 11个月前 (12-21) 阅读数 432 #云服务器知识
文章标签 ECSPHP配置

阿里云服务器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和mysqli
  • php-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 工具自动申请

版权声明
本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主 如果涉及侵权请尽快告知,我们将会在第一时间删除。
本站原创内容未经允许不得转载,或转载时需注明出处:特网云知识库

热门