如何在Ubuntu中部署PHP应用
一、前置准备:更新系统 在部署前,确保Ubuntu系统包为最新状态,避免兼容性问题:
sudo apt update &
&
sudo apt upgrade -y
二、安装Web服务器(以Nginx为例) Nginx因高性能常用于PHP应用部署,安装步骤如下:
sudo apt install nginx -y
sudo systemctl start nginx
sudo 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 -y
php-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-app
sudo find /var/www/html/your-app -type f -exec chmod 644 {
}
\;
# 文件权限644
sudo 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信息页面则说明部署成功。
九、优化配置(可选但建议)
- 启用OPcache:提升PHP脚本执行速度,编辑
php.ini:
找到sudo nano /etc/php/8.1/fpm/php.ini[opcache]部分,修改为:zend_extension=opcache.so opcache.enable=1 opcache.memory_consumption=64 opcache.max_accelerated_files=4000 opcache.revalidate_freq=2 - 调整PHP-FPM进程:根据服务器资源优化
www.conf(/etc/php/8.1/fpm/pool.d/www.conf):pm = dynamic pm.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 -y
sudo certbot --nginx -d yourdomain.com
按提示完成证书安装,Certbot会自动配置Nginx重定向HTTP至HTTPS。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu中部署PHP应用
本文地址: https://pptw.com/jishu/737437.html
