1. 环境准备与基础配置
在Debian系统上搭建Nginx+PHP+MySQL环境前,需要先确保系统处于最新状态。我通常会先执行以下命令更新软件源和已安装的包:
bash复制sudo apt update && sudo apt upgrade -y
这个组合命令不仅更新软件包列表,还会自动升级所有可更新的包。对于生产环境,建议在升级前先检查哪些包会被更新,可以使用apt list --upgradable查看具体升级内容。
注意:如果系统内核有更新,需要重启服务器才能使新内核生效。建议在维护窗口期进行这类操作。
1.1 系统用户与权限设置
为安全起见,应该创建一个专用用户来运行web服务。我习惯使用webadmin这个用户名:
bash复制sudo adduser webadmin --system --no-create-home --group
参数说明:
--system:创建系统用户--no-create-home:不创建家目录--group:同时创建同名用户组
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Nginx安装与优化配置
2.1 安装Nginx最新稳定版
Debian默认源中的Nginx版本可能较旧,我们可以添加官方源来获取最新版本:
bash复制sudo apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
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 gpg --dearmor -o /etc/apt/trusted.gpg.d/nginx.gpg
sudo apt update
sudo apt install nginx
安装完成后,验证Nginx版本和运行状态:
bash复制nginx -v
sudo systemctl status nginx
2.2 性能优化配置
修改/etc/nginx/nginx.conf中的核心参数:
nginx复制worker_processes auto; # 自动匹配CPU核心数
worker_rlimit_nofile 100000; # 每个worker能打开的文件描述符数量
events {
worker_connections 4096; # 每个worker的最大连接数
multi_accept on; # 同时接受多个新连接
use epoll; # 使用epoll事件模型
}
http {
sendfile on; # 启用零拷贝传输
tcp_nopush on; # 仅在sendfile开启时有效
tcp_nodelay on; # 禁用Nagle算法
keepalive_timeout 30; # 保持连接超时时间
keepalive_requests 1000; # 单个连接最大请求数
# 其他配置...
}
提示:修改配置后记得用
sudo nginx -t测试配置语法,然后用sudo systemctl reload nginx重载配置。
3. MySQL/MariaDB安装与安全加固
3.1 安装数据库服务
Debian 11默认使用MariaDB 10.5,这是MySQL的一个兼容分支:
bash复制sudo apt install mariadb-server mariadb-client
安装完成后启动服务并设置开机自启:
