要在Debian上把PHP应用部署到生产环境,其实不复杂,但每一步都得踩稳。下面这套流程,既照顾了基本操作,也留出了自定义空间——读完你就能上手。

1. 更新系统
任何生产环境的起点都是系统更新,别跳过这一步:
sudo apt update
sudo apt upgrade -y2. 安装Nginx
作为轻量级Web服务器,Nginx在生产环境中的表现相当可靠。直接装:
sudo apt install nginx -y3. 安装PHP-FPM
PHP-FPM是PHP的FastCGI实现,专门配合Nginx使用。装它:
sudo apt install php-fpm -y4. 配置Nginx
编辑Nginx的站点配置文件,通常路径是/etc/nginx/sites-a vailable/default。打开它:
sudo nano /etc/nginx/sites-a vailable/default调整成类似下面这样,注意把server_name换成你自己的域名:
server {
listen 80;
server_name your_domain.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整
}
location ~ /\.ht {
deny all;
}
}保存后启用配置并重载:
sudo ln -s /etc/nginx/sites-a vailable/default /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx5. 配置PHP-FPM
为了让PHP-FPM跑得更顺,进入其配置文件:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf找到以下两行并修改:
;listen = /run/php/php7.4-fpm.sock
listen = 127.0.0.1:9000
;listen.allowed_clients = 127.0.0.1
listen.allowed_clients = your_server_ip改完重启:
sudo systemctl restart php7.4-fpm6. 安装MySQL/MariaDB
数据库选MySQL或MariaDB都行,看个人偏好。直接装:
sudo apt install mysql-server -y
# 或者
sudo apt install mariadb-server -y装完跑安全脚本设置root密码和其他选项:
sudo mysql_secure_installation7. 部署代码
把应用代码放到/var/www/html下,可以用scp或rsync传输,也可以git pull。
8. 设置文件权限
别忘了让Nginx用户(www-data)能读写那些文件:
sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type f -exec chmod 644 {} \;
sudo find /var/www/html -type d -exec chmod 755 {} \;9. 配置防火墙
开放HTTP和HTTPS端口:
sudo ufw allow 'Nginx Full'10. 启动和启用服务
把所有服务设为开机自启动并立即启动:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm
sudo systemctl start mysql # 或 mariadb
sudo systemctl enable mysql # 或 mariadb11. 测试部署
最后,打开浏览器,输入你的域名。如果页面正常加载,大功告成。如果有问题,检查日志文件——/var/log/nginx/error.log和/var/log/php7.4-fpm.log通常是第一线索。