在 Windows 11 上搭建 Nginx + PHP 8.x(注:以 PHP 8.3 为例) + MySQL + Redis 环境的步骤如下:
一、安装 Nginx
-
下载 Nginx
访问 Nginx 官方下载页,下载最新稳定版(如nginx-1.25.x
)的 Windows 版本(.zip
文件)。 -
解压并配置
将下载的.zip
文件解压到C:\nginx
(或其他目录),目录结构如下:C:\nginx ├── conf ├── html └── ...
-
测试运行
打开命令提示符,执行以下命令启动 Nginx:cd C:\nginx start nginx
浏览器访问
http://localhost
,若显示欢迎页则安装成功。 -
配置防火墙
允许 Nginx 通过 Windows Defender 防火墙。
二、安装 PHP 8.x
-
下载 PHP
访问 PHP Windows 下载页,选择 VS16 x64 Non Thread Safe 版本(如php-8.3.0-nts-Win32-vs16-x64.zip
)。 -
解压 PHP
解压到C:\php
,目录结构如下:C:\php ├── ext ├── php.exe └── ...
-
配置 PHP
- 复制
C:\php\php.ini-development
并重命名为php.ini
。 - 编辑
php.ini
,启用关键扩展(去掉注释;
):extension_dir = "ext" extension=gd extension=mbstring extension=mysqli extension=openssl extension=pdo_mysql extension=redis ; 需手动安装 Redis 扩展
- 配置
cgi.fix_pathinfo=1
。
- 复制
-
安装 PHP-FPM
PHP 的 Windows 版本默认不包含 FPM,需手动配置 FastCGI:- 创建
C:\php\php-cgi.exe
的快捷方式,并设置启动参数:php-cgi.exe -b 127.0.0.1:9000
- 创建
三、安装 MySQL
-
下载 MySQL Installer
访问 MySQL 下载页,下载并运行mysql-installer-community.exe
。 -
安装步骤
- 选择安装类型:Custom
- 添加 MySQL Server 8.x 和 MySQL Workbench(可选)。
- 配置 root 密码,设置身份验证方式为
Use Strong Password Encryption
。 - 完成安装后,通过命令提示符测试:
mysql -u root -p
四、安装 Redis
-
下载 Redis for Windows
- 官方不直接支持,但微软维护了一个兼容版本:微软/redis,下载
Redis-x64-3.2.100.msi
安装。
- 官方不直接支持,但微软维护了一个兼容版本:微软/redis,下载
-
运行 Redis 服务
- 安装后,Redis 服务会自动启动。验证:
返回redis-cli ping
PONG
即成功。
- 安装后,Redis 服务会自动启动。验证:
五、配置 Nginx 与 PHP 协作
-
修改 Nginx 配置
编辑C:\nginx\conf\nginx.conf
,在server
块中添加 PHP 支持:location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
-
启动 PHP-CGI
运行之前创建的快捷方式或直接在命令行启动:php-cgi.exe -b 127.0.0.1:9000
-
测试 PHP
- 在
C:\nginx\html
中新建index.php
:<?php phpinfo(); ?>
- 重启 Nginx:
nginx -s reload
- 访问
http://localhost/index.php
,应显示 PHP 信息页。
- 在
六、验证 MySQL 和 Redis 连接
-
PHP 连接 MySQL
创建mysql_test.php
:<?php $conn = new mysqli("localhost", "root", "YourPassword"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "MySQL connected!"; ?>
-
PHP 连接 Redis
- 安装 Redis 扩展:下载
php_redis.dll
(版本需匹配 PHP)放入C:\php\ext
,并在php.ini
添加extension=redis
。 - 创建
redis_test.php
:<?php $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo "Redis connected: " . $redis->ping(); ?>
- 安装 Redis 扩展:下载
七、开机自启动
-
使用任务计划程序
为nginx.exe
、php-cgi.exe
、mysqld
、redis-server.exe
创建开机任务。 -
第三方工具(推荐)
使用 NSSM 将各服务注册为 Windows 服务:nssm install Nginx "C:\nginx\nginx.exe" nssm install PHP-FPM "C:\php\php-cgi.exe" -b 127.0.0.1:9000
常见问题
- 端口冲突:确保 80(Nginx)、3306(MySQL)、6379(Redis)端口未被占用。
- PHP 扩展未加载:检查
php.ini
中的extension_dir
路径。 - MySQL 连接失败:检查 MySQL 服务是否运行,防火墙是否放行。
完成以上步骤后,您将拥有一个完整的本地开发环境!