1. 更新系统软件包
首先确保系统包列表是最新的,避免因旧包冲突导致部署失败:
sudo apt update && sudo apt upgrade -y
2. 安装Web服务器(以Nginx为例)
Nginx是轻量高性能的Web服务器,适合托管PHP项目。安装命令:
sudo apt install nginx -y
sudo systemctl start nginx && sudo systemctl enable nginx
验证Nginx是否运行:浏览器访问服务器IP,若看到“Welcome to nginx”页面则表示成功。
3. 安装PHP及必要扩展
PHP是项目运行的核心,需安装PHP核心包及常用扩展(如MySQL、GD、MBString等):
sudo apt install php-fpm php-cli php-mysql php-gd php-mbstring php-curl php-xml php-zip -y
php-fpm:PHP FastCGI进程管理器,用于与Web服务器通信;php-mysql:MySQL数据库驱动,若使用PostgreSQL则替换为php-pgsql;php-bcmath用于高精度计算)。4. 配置PHP-FPM
编辑PHP-FPM的进程池配置文件(默认路径为/etc/php/8.2/fpm/pool.d/www.conf,版本号随安装的PHP版本变化),确保以下参数正确:
listen = /run/php/php8.2-fpm.sock # 监听Unix套接字(推荐)或TCP端口(如127.0.0.1:9000)
listen.owner = www-data # 监听所有者(需与Web服务器用户一致)
listen.group = www-data # 监听所属组
user = www-data # 运行PHP的用户
group = www-data # 运行PHP的组
修改后重启PHP-FPM使配置生效:
sudo systemctl restart php8.2-fpm
5. 配置Web服务器处理PHP请求(Nginx为例)
编辑Nginx的默认站点配置文件(/etc/nginx/sites-available/default),添加PHP处理逻辑:
server {
listen 80;
server_name your_domain.com www.your_domain.com; # 替换为域名或IP
root /var/www/html; # 项目根目录
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404; # 尝试访问文件,不存在则返回404
}
location ~ \.php$ { # 匹配所有.php结尾的请求
include snippets/fastcgi-php.conf; # 引入FastCGI配置
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # 与PHP-FPM的listen参数一致
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 设置脚本路径
include fastcgi_params; # 包含通用FastCGI参数
}
location ~ /\.ht { # 禁止访问.htaccess文件(Apache遗留配置)
deny all;
}
}
测试Nginx配置语法是否正确:
sudo nginx -t
若无错误,重新加载Nginx:
sudo systemctl reload nginx
6. 上传PHP项目文件
将本地项目文件上传至Web服务器根目录(如/var/www/html),可使用scp、rsync或FTP工具:
scp -r /local/project/path/* user@your_server_ip:/var/www/html/
注意:上传前确保项目文件权限正确,避免Web服务器无法读取:
sudo chown -R www-data:www-data /var/www/html # 将所有者设为www-data
sudo find /var/www/html -type f -exec chmod 644 {} \; # 文件权限设为644
sudo find /var/www/html -type d -exec chmod 755 {} \; # 目录权限设为755
7. 测试PHP运行
在项目根目录创建info.php文件,内容如下:
<?php phpinfo(); ?>
浏览器访问http://your_domain.com/info.php,若看到PHP详细信息页面(包括版本、模块、配置等),则表示PHP与Web服务器集成成功。
8. 可选:安装数据库(如MySQL/MariaDB)
若项目需要数据库支持,安装MySQL或MariaDB:
sudo apt install mariadb-server -y # Debian推荐使用MariaDB(MySQL分支)
sudo mysql_secure_installation # 运行安全设置脚本(设置root密码、移除匿名用户等)
创建数据库和用户:
sudo mysql -u root -p
CREATE DATABASE your_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
在项目中配置数据库连接信息(如config.php),即可使用数据库功能。
9. 可选:安全加固
sudo ufw allow 'Nginx Full'
sudo ufw enable