在 Windows Server 2019 上部署企业官网,通常有几种主流方案。选择哪种方案取决于你的技术栈(PHP/Java/.NET)、团队熟悉度以及是否需要高可用性。
以下是最推荐、最稳定且适合大多数中小型企业官网的完整部署指南:
🏆 推荐方案:IIS + PHP (或 .NET) + MySQL/MariaDB
这是 Windows 环境下最经典、资源占用低、维护简单的组合。
✅ 适用场景
- 使用 WordPress、ThinkPHP、Laravel、Joomla 等 CMS 系统。
- 使用 ASP.NET Core / MVC 开发的企业站。
- 服务器内存较小(4GB~8GB),追求轻量级运行。
📌 详细部署步骤(以 IIS + PHP + MySQL 为例)
第一步:安装 Web 服务器 (IIS)
- 打开服务器管理器 → 添加角色和功能。
- 选择 “基于角色或基于功能的安装” → 下一步直到“服务器角色”。
- 勾选 “Web 服务器 (IIS)” → 下一步。
- 在“功能”中确保勾选 .NET Framework 3.5/4.7(部分组件需要)。
- 完成安装后,重启服务器(可选但推荐)。
💡 验证:浏览器访问
http://localhost,看到“IIS 欢迎页面”即成功。
第二步:安装 PHP(推荐使用非线程安全版 NTS)
⚠️ 注意:Windows IIS 建议使用 Non-Thread-Safe (NTS) 版本的 PHP,并配合 FastCGI 模块。
- 下载 PHP:从 php.net 下载 VC15 x64 Non Thread Safe 版本(与你的 SQL 驱动匹配)。
- 解压到目录,例如:
C:php - 复制
php.ini-development为php.ini,编辑关键配置:extension_dir = "ext" date.timezone = Asia/Shanghai ; 取消注释以下扩展(根据需求开启) extension=pdo_mysql extension=mbstring extension=openssl extension=curl extension=fileinfo
第三步:配置 IIS 支持 PHP(FastCGI)
- 打开 IIS 管理器 (
inetmgr)。 - 点击左侧服务器名称 → 双击 “处理程序映射”。
- 右侧点击 “添加模块映射”:
- 请求路径:
* - 模块:
FastCgiModule - 可执行文件:
C:phpphp-cgi.exe - 名称:
PHP_via_FastCGI
- 请求路径:
- 点击 “请求限制” → 标签页 → 取消勾选“仅当请求映射到以下内容时调用处理程序” → 确定。
- 弹出对话框选择 “是” 允许 FastCGI。
✅ 验证:创建一个 info.php 文件放在网站根目录,内容为 <?php phpinfo(); ?>,访问该文件查看 PHP 信息。
第四步:安装数据库(MySQL 或 MariaDB)
- 下载 MySQL Installer(社区版免费):mysql.com/downloads
- 安装时选择 “Developer Default” 或自定义安装。
- 设置 root 密码,记住用户名和密码。
- 安装完成后,可通过命令行或工具(如 Navicat、DBeaver)连接测试。
💡 建议:如果官网数据量不大,也可考虑使用 SQLite 或嵌入式数据库减少服务依赖。
第五步:上传网站代码 & 配置站点
- 将你的官网源码(如 WordPress、ThinkPHP 项目)上传至指定目录,例如:
D:wwwrootyourwebsite - 在 IIS 中创建新网站:
- 右键“网站” → “添加网站”
- 名称:
CompanyWebsite - 物理路径:指向你的源码目录
- 绑定:IP 地址 + 域名 + 端口(默认 80)
- 设置应用程序池:
- 右键应用池 → 高级设置
- .NET CLR 版本:无托管代码
- 管道模式:集成
第六步:配置伪静态(URL Rewrite)
大多数现代框架(WordPress、Laravel、ThinkPHP)都需要伪静态支持。
- 下载并安装 Microsoft URL Rewrite Module:
https://www.iis.net/downloads/microsoft/url-rewrite - 在 IIS 中选中你的网站 → 双击 “URL 重写”。
- 导入对应框架的规则(如 WordPress 提供
.htaccess转 IIS 规则工具)。
第七步:安全加固 & HTTPS(SSL 证书)
- 申请 SSL 证书:
- 免费:Let’s Encrypt(需通过 Certify The Web 工具自动续期)
- 付费:阿里云、腾讯云、DigiCert 等
- 在 IIS 中导入证书 → 绑定 HTTPS(443 端口)。
- 强制 HTTP 跳转 HTTPS(通过 URL Rewrite 实现)。
第八步:防火墙与安全组配置
- Windows 防火墙:
- 开放 TCP 80(HTTP)和 443(HTTPS)端口。
- 云服务商安全组(如阿里云 ECS、AWS EC2):
- 同样开放 80 和 443 端口。
🔁 其他可选方案对比
| 方案 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| IIS + PHP | 原生支持好,性能稳定,资源占用低 | 配置稍复杂,需手动管理 FastCGI | 大多数传统 PHP 网站 |
| Nginx for Windows + PHP | 高性能,并发能力强 | Windows 下 Nginx 不如 Linux 成熟,稳定性略差 | 高流量网站(不推荐新手) |
| Docker + Linux 容器 | 环境隔离,部署简单,跨平台 | 需要学习 Docker,Windows 主机性能开销大 | 微服务架构、DevOps 团队 |
| Apache + PHP | 兼容性好,.htaccess 直接生效 |
在 Windows 上性能低于 IIS/Nginx | 老旧系统迁移 |
⚠️ 重要注意事项
-
定期备份:
- 使用 IIS 自带的“备份网站”功能。
- 定期导出数据库(mysqldump 或 phpMyAdmin)。
- 建议设置自动备份脚本(PowerShell + Task Scheduler)。
-
权限设置:
- 网站目录权限应设置为
IIS_IUSRS用户具有“读取和执行”权限。 - 避免给予
Everyone完全控制权限。
- 网站目录权限应设置为
-
日志监控:
- 启用 IIS 日志记录,便于排查问题。
- 查看 Windows 事件查看器中的应用程序日志。
-
更新维护:
- 保持 Windows Server 最新补丁。
- 定期更新 PHP、MySQL、CMS 系统到最新版本,修复安全漏洞。
🚀 快速启动建议(如果你是初学者)
如果你希望最快上线,可以考虑:
-
使用 宝塔面板 Windows 版(BaoTa Panel):
- 一键安装 LNMP/LAMP 环境。
- 可视化配置伪静态、SSL、数据库。
- 极大降低运维难度。
-
或者使用 WordPress + IIS:
- WordPress 对 IIS 支持良好,网上有大量现成教程。
如需针对特定技术栈(如 Java Spring Boot、.NET Core)的部署细节,请告诉我你的具体技术选型,我可以提供更精确的配置步骤。
轻量云Cloud