在阿里云轻量应用服务器上部署PHP环境可以分为以下几个步骤,适用于常见的LAMP(Linux + Apache + MySQL + PHP)或LEMP(Linux + Nginx + MySQL + PHP)架构。以下是详细指南:
一、准备工作
-
购买服务器
- 在阿里云官网购买轻量应用服务器(选择Ubuntu/CentOS/Debian等系统镜像)。
- 确保安全组放行所需端口(如80/HTTP、443/HTTPS、22/SSH)。
-
登录服务器
ssh root@你的服务器IP
二、安装PHP(以Ubuntu为例)
1. 更新系统
sudo apt update && sudo apt upgrade -y
2. 安装PHP
- PHP 8.2(推荐):
sudo apt install php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
- 检查版本:
php -v
3. 安装Web服务器(Nginx/Apache)
-
选项1:Nginx(LEMP)
sudo apt install nginx -y sudo systemctl start nginx sudo systemctl enable nginx
配置Nginx支持PHP:
编辑默认站点配置(/etc/nginx/sites-available/default
),在server
块中添加:location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php-fpm.sock; }
重启Nginx:
sudo systemctl restart nginx
-
选项2:Apache(LAMP)
sudo apt install apache2 -y sudo apt install libapache2-mod-php # Apache的PHP模块 sudo systemctl restart apache2
三、安装数据库(MySQL/MariaDB)
sudo apt install mysql-server -y
sudo mysql_secure_installation # 运行安全配置脚本
创建数据库和用户:
sudo mysql -u root -p
CREATE DATABASE php_app;
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON php_app.* TO 'user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
四、测试PHP
- 创建测试文件:
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
- 浏览器访问:
http://你的服务器IP/info.php
应显示PHP配置信息。
五、部署PHP项目
-
上传代码
- 使用
scp
或SFTP工具上传项目文件到/var/www/html/
(或自定义目录)。 - 示例(本地到服务器):
scp -r ./my_project root@服务器IP:/var/www/html/
- 使用
-
配置权限
sudo chown -R www-data:www-data /var/www/html/ sudo chmod -R 755 /var/www/html/
-
配置域名(可选)
在Nginx/Apache中配置虚拟主机,绑定域名。
六、安全优化
-
防火墙设置
sudo ufw allow 80/tcp sudo ufw allow 22/tcp sudo ufw enable
-
禁用危险函数
编辑/etc/php/8.2/fpm/php.ini
,修改:disable_functions = exec,passthru,shell_exec,system
-
安装SSL证书
使用Let’s Encrypt免费证书:sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d 你的域名.com
常见问题
-
502 Bad Gateway
- 检查PHP-FPM是否运行:
sudo systemctl status php-fpm
。 - 确认Nginx配置中的
fastcgi_pass
路径正确。
- 检查PHP-FPM是否运行:
-
文件权限问题
确保Web用户(如www-data
)有目录读写权限。 -
PHP扩展缺失
安装所需扩展,例如:sudo apt install php-redis php-imagick
通过以上步骤,你的PHP环境应该已成功部署。根据项目需求,可进一步调整Web服务器或PHP配置。