一、Debian 系统环境准备
系统更新与依赖安装
# 更新系统
sudo apt-get update && sudo apt-get upgrade -y
# 安装基础工具
sudo apt-get install -y curl wget gnupg2 ca-certificates lsb-release
二、Nginx 安装与配置(Debian 版)
安装最新稳定版 Nginx
# 添加官方Nginx仓库
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo apt-get update
# 安装Nginx
sudo apt-get install -y nginx
配置文件路径说明
- 主配置文件:
/etc/nginx/nginx.conf
- 虚拟主机配置目录:
/etc/nginx/conf.d/
- 日志目录:
/var/log/nginx/
启动与管理服务
# 启动Nginx
sudo systemctl start nginx
# 设置开机自启
sudo systemctl enable nginx
# 重载配置
sudo systemctl reload nginx
三、PHP 安装与配置(Debian 版)
安装 PHP 8.2 及相关扩展
# 添加Sury.org PHP仓库
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt-get update
# 安装PHP及扩展
sudo apt-get install -y php8.2-fpm php8.2-mysql php8.2-cli php8.2-mbstring php8.2-curl php8.2-gd php8.2-xml php8.2-zip php8.2-opcache
PHP-FPM 配置优化
- 主配置文件:
/etc/php/8.2/fpm/php-fpm.conf
- 池配置目录:
/etc/php/8.2/fpm/pool.d/
- 修改 www.conf:
[www]
user = www-data
group = www-data
listen = /run/php/php8.2-fpm.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
启动 PHP-FPM 服务
sudo systemctl start php8.2-fpm
sudo systemctl enable php8.2-fpm
四、MySQL 安装与配置(Debian 版)
安装 MySQL 8.0
# 添加MySQL官方仓库
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb
sudo apt-get update
# 安装MySQL Server
sudo apt-get install -y mysql-server
初始化与安全配置
# 初始化MySQL
sudo mysql_secure_installation
# 登录MySQL
sudo mysql -u root -p
配置文件路径
- 主配置文件:
/etc/mysql/mysql.conf.d/mysqld.cnf
- 数据目录:
/var/lib/mysql/
五、Nginx 与 PHP 集成配置(Debian 版)
创建虚拟主机配置
# /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
}
测试 PHP 配置
# 创建测试文件
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
# 检查Nginx配置
sudo nginx -t
# 重载Nginx
sudo systemctl reload nginx
六、防火墙配置(Debian 版)
使用 UFW 配置防火墙
# 安装UFW
sudo apt-get install -y ufw
# 允许HTTP和HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 启用防火墙
sudo ufw enable
# 查看状态
sudo ufw status
七、性能监控工具(Debian 版)
安装常用监控工具
# 系统监控
sudo apt-get install -y htop iotop bmon
# Nginx监控
sudo apt-get install -y nginx-module-vts
# MySQL监控
sudo apt-get install -y percona-toolkit
配置 Nginx VTS 模块
# /etc/nginx/nginx.conf
load_module modules/ngx_http_vhost_traffic_status_module.so;
http {
vhost_traffic_status_zone;
server {
listen 8080;
location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
}
}
八、常见问题解决(Debian 版)
PHP-FPM 无法启动
# 检查日志
sudo journalctl -u php8.2-fpm
# 检查进程
ps aux | grep php-fpm
Nginx 无法加载 PHP 文件
# 检查PHP-FPM套接字权限
ls -la /run/php/php8.2-fpm.sock
# 检查Nginx配置中的fastcgi_pass路径
MySQL 无法启动
# 检查错误日志
sudo tail -f /var/log/mysql/error.log
# 检查磁盘空间
df -h
通过以上步骤,您可以在 Debian 系统上成功部署和配置 Nginx+PHP+MySQL 环境,并进行基础优化和监控。记得根据实际业务需求调整各项参数,定期备份数据,确保系统安全稳定运行。