一、前置准备:更新系统在部署前,确保Ubuntu系统包为最新状态,避免兼容性问题:

sudo apt update && sudo apt upgrade -y二、安装Web服务器(以Nginx为例)Nginx因高性能常用于PHP应用部署,安装步骤如下:
sudo apt install nginx -ysudo systemctl start nginxsudo systemctl enable nginx# 设置开机自启验证Nginx是否运行:浏览器访问服务器IP,若看到Nginx欢迎页面则说明成功。
三、安装PHP及必要扩展PHP应用需对应版本的PHP解释器和常用扩展(如MySQL数据库交互、GD图像处理等):
sudo apt install php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -yphp-fpm:PHP FastCGI进程管理器,提升性能;php-mysql:支持MySQL数据库连接;php-imagick处理图片)。四、配置Web服务器处理PHP请求以Nginx为例,需修改站点配置文件以传递PHP请求至PHP-FPM:
sudo nano /etc/nginx/sites-available/default找到server块,添加或修改以下内容:
location / {try_files $uri $uri/ =404;# 尝试匹配文件,不存在则返回404}location ~ .php$ {include snippets/fastcgi-php.conf;# 引入FastCGI配置fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;# 根据PHP版本调整sock路径fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;# 设置脚本路径include fastcgi_params;# 包含通用FastCGI参数}保存退出后,测试Nginx配置语法:
sudo nginx -t若无错误,重新加载Nginx:
sudo systemctl reload nginx五、部署PHP应用将本地PHP应用文件上传至服务器文档根目录(默认/var/www/html),例如使用scp:
scp -r /local/path/to/your/app user@server_ip:/var/www/html/六、设置文件权限确保Web服务器用户(通常为www-data)有权访问应用文件:
sudo chown -R www-data:www-data /var/www/html/your-appsudo find /var/www/html/your-app -type f -exec chmod 644 {} ;# 文件权限644sudo find /var/www/html/your-app -type d -exec chmod 755 {} ;# 目录权限755七、配置防火墙(可选但推荐)若使用UFW防火墙,允许HTTP(80)和HTTPS(443)流量:
sudo ufw allow 'Nginx Full'sudo ufw enable# 启用防火墙八、测试PHP运行在应用目录创建info.php文件,验证PHP是否正常工作:
sudo nano /var/www/html/info.php添加以下内容:
<?php phpinfo(); ?>保存后,浏览器访问http://server_ip/info.php,若看到PHP信息页面则说明部署成功。
九、优化配置(可选但建议)
php.ini:sudo nano /etc/php/8.1/fpm/php.ini找到[opcache]部分,修改为:zend_extension=opcache.soopcache.enable=1opcache.memory_consumption=64opcache.max_accelerated_files=4000opcache.revalidate_freq=2www.conf(/etc/php/8.1/fpm/pool.d/www.conf):pm = dynamicpm.max_children = 50# 最大子进程数pm.start_servers = 5# 启动时的进程数pm.min_spare_servers = 5# 最小空闲进程数pm.max_spare_servers = 35# 最大空闲进程数十、使用SSL加密(可选但推荐)通过Let’s Encrypt免费获取SSL证书,启用HTTPS:
sudo apt install certbot python3-certbot-nginx -ysudo certbot --nginx -d yourdomain.com按提示完成证书安装,Certbot会自动配置Nginx重定向HTTP至HTTPS。