在 Windows Server 上轻松搭建 Nginx + PHP + MySQL 服务器环境

在 Windows Server 上部署 Nginx、PHP 和 MySQL,能让你搭建功能强大的 Web 服务器,运行各类 PHP 驱动的网站和应用程序。本文将手把手教你如何一步步搭建这个高效的服务器环境。

 

1. Nginx:高性能 Web 服务器的基石

 

Nginx 以其卓越的性能和稳定性而闻名,是 Web 服务器和反向代理的理想选择。

首先,你需要从 Nginx 官网下载适用于 Windows 的最新稳定版本。访问 https://nginx.org/en/download.html,找到并下载 nginx/Windows 的 ZIP 包。

下载完成后,将文件解压到一个你希望 Nginx 所在的目录,例如 C:\nginx。为了验证 Nginx 是否正常工作,打开命令提示符,切换到 Nginx 目录 (cd C:\nginx),然后运行 nginx.exe。接着,在浏览器中访问 http://localhost/。如果看到“Welcome to nginx!”的欢迎页面,那就说明 Nginx 已经成功启动了。

为了让 Nginx 随系统自动启动,我们推荐使用 NSSM(Non-Sucking Service Manager)将其设置为一个 Windows 服务。你可以从 https://nssm.cc/download 下载 NSSM,并将其可执行文件复制到 Nginx 目录或系统 PATH 路径中。然后,在命令提示符中运行 nssm install nginx。在弹出的配置窗口中,Path 填写 C:\nginx\nginx.exeStartup directory 填写 C:\nginx,最后点击“Install service”。这样,你就可以在 Windows 服务管理器中找到名为“nginx”的服务,并将其启动类型设置为“自动”。

 

2. PHP:动态网站的驱动力

 

PHP 是一种广泛应用于 Web 开发的脚本语言,是许多动态网站的后端核心。

要获取 PHP,你需要访问 PHP for Windows 官方下载页面 https://windows.php.net/download/。请务必选择**非线程安全(Non Thread Safe)**的 ZIP 包,并根据你的服务器架构(x64 或 x86)选择相应的版本,因为 Nginx 通常通过 FastCGI 模式与 PHP 协作。

将下载的 PHP 压缩包解压到你偏好的位置,比如 C:\php。接下来是配置 PHP。在 C:\php 目录下,找到 php.ini-development 文件,复制一份并重命名为 php.ini。用文本编辑器打开 php.ini 文件,进行以下关键修改:

  • extension_dir: 找到并取消注释 extension_dir = "ext",将其修改为指向你的 PHP ext 文件夹的绝对路径,例如 extension_dir = "C:\php\ext"

  • 常用扩展: 取消注释(删除行首的 ;)你需要的 PHP 扩展,例如 extension=curlextension=gdextension=mbstringextension=mysqliextension=opensslextension=pdo_mysql

  • cgi.force_redirect: 确保此行设置为 cgi.force_redirect = 0

  • fastcgi.impersonate: 确保此行设置为 fastcgi.impersonate = 1

  • date.timezone: 设置你的时区,例如 date.timezone = Asia/Shanghai

与 Nginx 类似,我们也可以将 PHP-CGI 设置为 Windows 服务,确保其始终运行。使用 NSSM,在命令提示符中运行 nssm install php-cgi。在配置窗口中,Path 填写 C:\php\php-cgi.exeStartup directory 填写 C:\php,并在 Arguments 字段中填写 -b 127.0.0.1:9000。这将使 PHP-CGI 监听在 9000 端口,供 Nginx 调用。安装完成后,在服务管理器中将“php-cgi”服务的启动类型设置为“自动”。

 

3. MySQL:数据存储的支柱

 

MySQL 是最流行的开源关系型数据库管理系统之一,是动态网站不可或缺的数据存储层。

从 MySQL 官网 [可疑链接已删除] 下载 MySQL Installer for Windows。这个安装器会提供一个图形界面,方便你安装和配置 MySQL 服务器及相关工具。

运行下载的安装程序,通常选择 Developer DefaultServer Only 安装类型。按照向导的指示进行安装,特别是在设置 MySQL Root 用户密码时,请务必牢记此密码,因为它将是你管理数据库的关键凭证。安装过程中,确保勾选了“Start MySQL Server at System Startup”和“Add MySQL bin directory to PATH”,这样 MySQL 会自动随系统启动,并且你可以在命令行中直接使用 MySQL 命令。

安装完成后,打开命令提示符,运行 mysql -u root -p,然后输入你设置的 Root 密码。如果能成功进入 MySQL 命令行界面,恭喜你,MySQL 已经准备就绪。

 

4. Nginx 与 PHP 的完美融合

 

现在,我们需要配置 Nginx,让它知道如何处理 PHP 文件。

打开 Nginx 的配置文件 C:\nginx\conf\nginx.conf。在 http 块内的 server 块中,找到并修改或添加以下配置:

Nginx
server {
    listen       80;
    server_name  localhost; # 替换为你的域名或IP地址

    # 定义网站根目录,请根据你的实际情况修改
    root         C:/nginx/html; 

    # 将 index.php 添加到默认索引文件列表
    index        index.html index.htm index.php;

    # Nginx 处理 PHP 文件的关键配置
    location ~ \.php$ {
        # 确保与 PHP-CGI 服务监听的地址和端口一致
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    # 禁止通过 Web 访问 .ht* 文件,提高安全性
    location ~ /\.ht {
        deny  all;
    }
}

重要提示:请将 root 指令指向你实际存放网站文件的目录,例如 C:\nginx\www

保存 nginx.conf 文件后,打开命令提示符,切换到 Nginx 目录,运行 nginx.exe -s reload 来重新加载配置。如果 Nginx 是作为服务运行的,你也可以在服务管理器中重启“nginx”服务。

 

5. 最终验证:您的服务器准备就绪了吗?

 

是时候验证你的 Nginx、PHP 和 MySQL 环境是否协同工作了。

在你在 Nginx 配置中设置的网站根目录(例如 C:\nginx\htmlC:\nginx\www)下,创建一个名为 info.php 的文件,并在其中写入以下内容:

PHP
<?php
phpinfo();
?>

保存文件后,打开浏览器,访问 http://localhost/info.php。如果你能看到一个包含详细 PHP 版本、配置信息和已加载扩展的页面(包括 mysqlipdo_mysql),那么恭喜你,你的 Nginx + PHP + MySQL 服务器环境已经搭建成功!

现在,你可以将你的 PHP 网站文件放置到 Nginx 的网站根目录中,并通过浏览器访问它们。

额外建议:

  • 防火墙设置: 确保 Windows 防火墙允许 80 端口(Nginx 默认端口)的入站连接。

  • 安全性考量: 对于生产环境,还需要进一步进行安全配置,如限制文件上传大小、配置 SSL/TLS 证书等。

  • 性能优化: 针对高流量网站,考虑对 Nginx、PHP-FPM 和 MySQL 进行更深入的性能调优。

如果在搭建过程中遇到任何问题,请不要灰心,仔细检查 Nginx、PHP 和 MySQL 的错误日志文件,它们会提供解决问题的宝贵线索。

No comments

公司简介

 

自1996年以来,公司一直专注于域名注册、虚拟主机、服务器托管、网站建设、电子商务等互联网服务,不断践行"提供企业级解决方案,奉献个性化服务支持"的理念。作为戴尔"授权解决方案提供商",同时提供与公司服务相关联的硬件产品解决方案。
备案号: 豫ICP备05004936号-1

联系方式

地址:河南省郑州市经五路2号

电话:0371-63520088

QQ:76257322

网站:800188.com

电邮:该邮件地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。