在Ubuntu上部署PHP应用的最佳实践包括以下几个步骤:
更新系统包: 首先,确保你的Ubuntu系统是最新的。
sudo apt update
sudo apt upgrade
安装Nginx或Apache: 选择使用Nginx或Apache作为Web服务器。这里以Nginx为例。
sudo apt install nginx
安装PHP-FPM: PHP-FPM(FastCGI Process Manager)是一个PHP FastCGI实现,具有更好的性能和灵活性。
sudo apt install php-fpm
配置Nginx以使用PHP-FPM: 编辑Nginx的默认站点配置文件或创建一个新的配置文件。
sudo nano /etc/nginx/sites-available/default
修改配置文件以处理PHP请求:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
保存并退出编辑器,然后测试Nginx配置:
sudo nginx -t
重新加载Nginx以应用更改:
sudo systemctl reload nginx
部署PHP应用:
将你的PHP应用文件上传到服务器上的 /var/www/html
目录(或其他你配置的文档根目录)。
scp -r /path/to/your/php-app user@your-server:/var/www/html
设置文件权限: 确保你的PHP应用文件和目录具有适当的权限,以便Nginx和PHP-FPM可以访问它们。
sudo chown -R www-data:www-data /var/www/html/your-php-app
sudo find /var/www/html/your-php-app -type f -exec chmod 644 {} \;
sudo find /var/www/html/your-php-app -type d -exec chmod 755 {} \;
重启服务: 最后,重启Nginx和PHP-FPM以确保所有更改生效。
sudo systemctl restart nginx
sudo systemctl restart php7.4-fpm
配置防火墙(可选): 如果你使用的是UFW(Uncomplicated Firewall),确保允许HTTP和HTTPS流量。
sudo ufw allow 'Nginx Full'
验证部署: 打开浏览器并访问你的服务器IP地址或域名,你应该能看到你的PHP应用运行正常。
通过以上步骤,你可以在Ubuntu上成功部署PHP应用。记得根据你的具体需求和环境调整这些建议。