阿里云Windows Server 2022 64位服务器网站环境配置?

在阿里云 Windows Server 2022 上搭建网站环境,通常采用 IIS (Internet Information Services) 作为 Web 服务器,配合 PHP/Java/.NET 等语言运行环境。对于大多数中小型网站或企业官网,推荐配置 IIS + MySQL + PHP (简称 WAMP 变体)IIS + Nginx (反向X_X) + .NET Core

以下是基于 IIS + MySQL + PHP 的经典配置方案(适用于 WordPress、Discuz! 等常见 CMS),同时也包含必要的阿里云安全组设置。


第一步:基础网络与安全组配置(关键)

在操作系统内部安装软件前,必须先在阿里云控制台开放端口,否则外部无法访问。

  1. 登录 阿里云控制台 -> 云服务器 ECS
  2. 找到你的实例,点击右侧的 更多 -> 网络和安全组 -> 安全组配置
  3. 创建或编辑入方向规则,添加以下端口:
    • 80 (HTTP):Web 服务默认端口。
    • 443 (HTTPS):如果后续配置 SSL 证书需要。
    • 3389 (RDP):远程桌面连接(仅建议通过 IP 白名单限制,生产环境不建议对全网开放)。
    • 3306 (MySQL)强烈建议不要对公网开放,仅在安全组内限制为“仅限本机”或特定管理 IP,防止数据库被扫描攻击。

第二步:安装 IIS 及扩展功能

Windows Server 2022 默认已安装 IIS,但需要启用相关角色和功能。

  1. 打开服务器管理器
    • 右键开始菜单 -> 服务器管理器 -> 添加角色和功能
  2. 选择角色
    • 勾选 Web 服务器 (IIS)
    • 在“角色服务”中,务必勾选以下核心组件:
      • CGI (运行 PHP 必需)
      • ASP.NET (如果使用 .NET 程序)
      • HTTP 重定向
      • 静态内容
      • 常用 HTTP 功能 (包括目录浏览、错误页等)
      • 日志记录工具
      • WMI 性能
  3. 完成安装:点击下一步直到安装完成。

第三步:配置网站根目录与虚拟主机

假设你的网站代码放在 D:wwwrootmywebsite

  1. 创建目录

    • D: 盘新建文件夹 wwwroot,并在其中建立子文件夹 mywebsite
    • 确保该文件夹有写入权限(IIS_IUSRS 用户需拥有修改权限,特别是上传插件或缓存时)。
  2. 启动 IIS 管理器

    • 运行 inetmgr 或在开始菜单搜索 "Internet Information Services (IIS) Manager"。
  3. 绑定域名/IP

    • 展开左侧树形结构,右键 网站 -> 添加网站
    • 网站名称:自定义(如 MySite)。
    • 物理路径:选择 D:wwwrootmywebsite
    • 绑定
      • 类型:http
      • IP 地址:全部未分配 或指定公网 IP。
      • 端口:80
      • 主机名:填写你的域名(如 www.example.com)。

第四步:安装数据库 (MySQL) 与 PHP 环境

推荐使用集成包简化安装,例如 phpStudy (国内常用)、XAMPP 或手动安装。考虑到稳定性,推荐手动安装或使用官方安装包。

方案 A:使用 phpStudy (适合新手,快速部署)

  1. 下载并安装 phpStudy for Windows
  2. 启动后,在面板中选择 PHP 版本(推荐 7.4 或 8.1+)和 MySQL 版本(5.7 或 8.0)。
  3. 点击 启动 服务。
  4. 配置 IIS 关联
    • 在 phpStudy 面板中找到 伪静态站点管理,将你的网站目录添加进去。
    • 或者在 IIS 管理器中,进入网站 -> 处理程序映射 -> 添加模块映射
      • 请求路径:*.php
      • 可执行文件:指向 php-cgi.exe 的路径(例如 C:phpstudy_proExtensionsphpphp8.1.2ntsphp-cgi.exe)。
      • 请求限制:允许脚本。
      • 名称:FastCGI_PHP

方案 B:手动安装 (更稳定,推荐生产环境)

  1. 安装 MySQL
    • 下载 MySQL Installer for Windows。
    • 安装时注意设置 root 密码,并记住端口(默认 3306)。
  2. 安装 PHP
    • 从微软官网下载 php-8.x.x-Win32-vs16-x64.zip
    • 解压到 D:php
    • 复制 php.ini-developmentphp.ini
    • 修改 php.ini
      • 取消注释 extension_dir = "ext"
      • 开启必要扩展:extension=mysqli, extension=gd, extension=pdo_mysql 等。
      • 设置 memory_limit = 512M
  3. 配置 IIS 处理 PHP
    • 在 IIS 管理器 -> 网站 -> 处理程序映射 -> 添加模块映射
    • 路径:*.php
    • 可执行文件:D:phpphp-cgi.exe -b 127.0.0.1:9000 (或者直接使用 FastCGI 设置)。
    • 名称:PHP-FastCGI
  4. 测试:创建一个 info.php 文件,内容为 <?php phpinfo(); ?>,访问 http://your-ip/info.php 查看是否显示 PHP 信息。

第五步:配置伪静态 (Rewrite Rules)

大多数 CMS(如 WordPress, ThinkPHP)都需要伪静态支持。

  1. 在 IIS 管理器中,选中你的网站,双击 URL 重写 (URL Rewrite)。
  2. 点击右侧 添加规则 -> 预设规则 -> 选择对应的 CMS 规则(如 WordPress, Discuz! 等)。
  3. 如果没有预设,需手动添加 .htaccess 风格的规则。
    • 例如 WordPress 规则:
      <rule name="WordPress Rule">
      <match url=".*" />
      <conditions logicalGrouping="MatchAll">
       <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
       <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
      </conditions>
      <action type="Rewrite" url="index.php" />
      </rule>
    • 注意:IIS 的 rewrite 规则语法与 Apache 不同,建议在 IIS 管理器界面操作或导入 .rules 文件。

第六步:SSL 证书配置 (HTTPS)

为了安全,建议配置 HTTPS。

  1. 申请证书
    • 可以在阿里云 SSL 证书管理服务 免费申请 DV 证书。
    • 下载证书文件(.crt.key)。
  2. 绑定证书到 IIS
    • 打开 IIS 管理器 -> 选择 服务器节点(最顶层)-> 服务器证书
    • 点击右侧 导入,导入 .pfx 格式证书(需将 crt 和 key 合并为 pfx,或使用阿里云提供的打包工具)。
    • 回到 网站 -> 绑定 -> 添加新绑定。
    • 类型选择 https,端口 443,选择刚才导入的证书。
  3. 强制跳转
    • URL 重写 中添加规则,将所有 http 流量强制跳转到 https。

第七步:系统优化与安全加固

  1. 关闭不必要的服务
    • Win+R 输入 services.msc,停止并禁用非必要的服务(如 Print Spooler, Remote Registry 等)。
  2. 防火墙设置
    • 确保 Windows 防火墙只开放了 80, 443, 3389 (限 IP) 等必要端口。
  3. 定期备份
    • 利用阿里云的 快照 功能,每周自动对系统盘和数据盘进行快照备份。
    • 数据库定期导出备份到本地或其他 OSS 存储桶。
  4. 更新补丁
    • 保持 Windows Update 开启,及时修复系统漏洞。

常见问题排查

  • 500 Internal Server Error:通常是 PHP 配置错误或权限问题。检查 php.ini 语法,确认 D:wwwroot 文件夹权限是否授予了 IIS_IUSRSSYSTEM 读写权限。
  • 无法连接数据库:检查 MySQL 服务是否启动,防火墙是否拦截 3306,以及 php.ini 中的 mysqli.default_port 是否正确。
  • 中文乱码:确保 php.inidefault_charset 设置为 UTF-8,且数据库字符集也是 utf8mb4

按照以上步骤,你就可以在阿里云 Windows Server 2022 上构建一个稳定、安全的网站环境。如果你使用的是 .NET Core 或 Java (Tomcat),流程类似,只需替换中间件部分即可。

未经允许不得转载:云计算 » 阿里云Windows Server 2022 64位服务器网站环境配置?