# Ubuntu/Debian
sudo apt update
sudo apt install nginx php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip
# CentOS/RHEL
sudo yum install epel-release
sudo yum install nginx php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip
编辑PHP-FPM配置文件(通常位于/etc/php/{version}/fpm/pool.d/www.conf
):
listen = /run/php/php{version}-fpm.sock
user = www-data
group = www-data
重启PHP-FPM服务:
sudo systemctl restart php{version}-fpm
创建Nginx站点配置文件(如/etc/nginx/sites-available/your_project
):
server {
listen 80;
server_name yourdomain.com;
root /var/www/your_project/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php{version}-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
启用站点并测试配置:
sudo ln -s /etc/nginx/sites-available/your_project /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
将项目文件上传到服务器(如/var/www/your_project
):
sudo mkdir -p /var/www/your_project
sudo chown -R www-data:www-data /var/www/your_project
根据项目需求:
- 安装Composer依赖:composer install
- 配置.env
文件
- 设置存储目录权限:chmod -R 775 storage bootstrap/cache
使用Let's Encrypt免费证书:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com
PHP-FPM优化:
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
Nginx优化:
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
502 Bad Gateway:
systemctl status php-fpm
sock
路径是否正确403 Forbidden:
chown -R www-data:www-data /var/www/your_project
root
路径是否正确PHP文件被下载而不是执行:
fastcgi_pass
设置是否正确考虑使用部署工具如: - Deployer - Capistrano - Git hooks + 自定义脚本
希望这个指南对您有所帮助!根据您的具体项目需求,可能还需要进行其他配置。