阿里云轻量级服务器部署PHP的完整指南
结论
在阿里云轻量级服务器上部署PHP环境,推荐使用 LNMP(Linux + Nginx + MySQL + PHP) 或 LAMP(Linux + Apache + MySQL + PHP) 方案,通过宝塔面板或手动配置均可高效完成。关键步骤包括环境安装、PHP配置、安全优化及项目部署。
部署方案选择
-
LNMP vs LAMP
- LNMP(Nginx + PHP-FPM):轻量、高并发,适合静态资源多的场景。
- LAMP(Apache + mod_php):兼容性强,适合传统PHP应用(如WordPress)。
- 推荐LNMP:阿里云轻量服务器资源有限,Nginx更节省内存。
-
自动化工具 vs 手动配置
- 宝塔面板:适合新手,一键安装环境(PHP/Nginx/MySQL)。
- 手动配置:灵活性强,适合有经验的用户。
详细部署步骤(以Ubuntu + LNMP为例)
1. 连接服务器
ssh root@你的服务器IP
2. 更新系统并安装基础工具
apt update && apt upgrade -y
apt install -y curl wget unzip
3. 安装Nginx
apt install -y nginx
systemctl start nginx
systemctl enable nginx
- 验证:浏览器访问服务器IP,看到Nginx欢迎页即成功。
4. 安装MySQL
apt install -y mysql-server
mysql_secure_installation # 运行安全配置脚本(设置root密码等)
5. 安装PHP
apt install -y php-fpm php-mysql php-curl php-gd php-mbstring php-xml
systemctl start php-fpm
systemctl enable php-fpm
- 关键配置:编辑
/etc/php/版本号/fpm/php.ini,调整upload_max_filesize、memory_limit等参数。
6. 配置Nginx支持PHP
- 修改Nginx站点配置(如
/etc/nginx/sites-available/default):server { listen 80; root /var/www/html; index index.php index.html; location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php版本号-fpm.sock; } } - 重启Nginx:
nginx -t # 测试配置 systemctl restart nginx
7. 测试PHP
- 创建
/var/www/html/info.php,写入:<?php phpinfo(); ?> - 访问
http://服务器IP/info.php,显示PHP信息即成功。
安全优化建议
-
防火墙设置
- 开放必要端口(80/443),关闭SSH默认端口:
ufw allow 80/tcp ufw allow 443/tcp ufw enable
- 开放必要端口(80/443),关闭SSH默认端口:
-
PHP安全
- 禁用危险函数(如
exec、shell_exec):在php.ini中设置disable_functions。 - 定期更新PHP版本。
- 禁用危险函数(如
-
MySQL安全
- 限制远程访问,使用强密码。
- 备份数据库:
mysqldump -u root -p 数据库名 > backup.sql。
项目部署示例(以WordPress为例)
- 下载并解压WordPress:
wget https://wordpress.org/latest.zip unzip latest.zip -d /var/www/html/ - 设置权限:
chown -R www-data:www-data /var/www/html/wordpress - 通过浏览器访问IP,按向导完成安装。
常见问题解决
- 502 Bad Gateway:检查PHP-FPM是否运行,Nginx配置中的
sock路径是否正确。 - 数据库连接失败:确保MySQL用户权限和防火墙规则。
- 文件上传限制:修改
php.ini中的upload_max_filesize和post_max_size。
总结
阿里云轻量服务器部署PHP的核心是选择高效环境(LNMP/LAMP)并做好安全配置。推荐新手使用宝塔面板简化流程,而手动配置更适合定制化需求。完成部署后,务必测试PHP运行状态并加固服务器安全。
CLOUD云计算