欢迎光临中国护送网
详情描述

一、环境准备

1. 阿里云ECS配置

  • 系统: Windows Server 2022 数据中心版
  • 实例规格: 建议2核4GB或以上
  • 安全组配置:
    • 开放端口: 80(HTTP), 443(HTTPS), 3389(RDP), 3306(MySQL可选)

2. 远程连接ECS

# 使用Windows远程桌面连接
mstsc /v:你的服务器公网IP

二、IIS服务器安装

1. 安装IIS服务

# 打开PowerShell(管理员身份)

# 安装Web服务器角色
Install-WindowsFeature -Name Web-Server -IncludeManagementTools

# 安装IIS管理控制台
Install-WindowsFeature -Name Web-Mgmt-Console

2. 安装必要功能

# 安装ASP.NET Core模块(可选)
Install-WindowsFeature -Name Web-Asp-Net45

# 安装CGI支持(用于PHP和Python)
Install-WindowsFeature -Name Web-CGI

# 安装URL重写模块
Install-WindowsFeature -Name Web-Url-Auth

# 或者通过Web平台安装器
# 下载WebPI: https://www.microsoft.com/web/downloads/platform.aspx

三、PHP安装与配置

1. 下载并安装PHP

# 下载PHP(以PHP 8.2为例)
# 访问: https://windows.php.net/download/

# 解压到 C:\PHP
New-Item -ItemType Directory -Path "C:\PHP" -Force
# 解压下载的zip文件到此目录

2. 配置PHP

# 复制配置文件
Copy-Item "C:\PHP\php.ini-production" "C:\PHP\php.ini"

# 编辑php.ini,修改以下配置
notepad C:\PHP\php.ini

php.ini关键配置:

extension_dir = "C:\PHP\ext"
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 300
date.timezone = Asia/Shanghai

# 启用必要扩展
extension=mysqli
extension=mbstring
extension=openssl
extension=pdo_mysql

3. IIS配置PHP处理程序

打开IIS管理器 进入处理程序映射 添加模块映射:
请求路径: *.php
模块: FastCgiModule
可执行文件: C:\PHP\php-cgi.exe
名称: PHP via FastCGI

四、Python配置

1. 安装Python

# 下载Python安装包
# https://www.python.org/downloads/

# 安装时勾选"Add Python to PATH"

2. 配置Python CGI

# 测试Python是否安装成功
python --version

# 安装必要模块
pip install flask django mysql-connector-python

3. IIS配置Python处理

# 添加Python处理程序映射
# 在IIS管理器 -> 处理程序映射中

五、MySQL安装

1. 下载MySQL

# 下载MySQL Installer
# https://dev.mysql.com/downloads/installer/

2. 安装MySQL

选择安装类型:

  • 选择"Server only"或自定义安装
  • 设置root密码
  • 选择身份验证方式(推荐MySQL 8.0 caching_sha2_password)

3. 配置MySQL

-- 使用MySQL命令行创建数据库和用户
mysql -u root -p

CREATE DATABASE webapp DEFAULT CHARACTER SET utf8mb4;
CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'YourPassword123!';
GRANT ALL PRIVILEGES ON webapp.* TO 'webuser'@'localhost';
FLUSH PRIVILEGES;

六、IIS网站配置

1. 创建网站

# 创建网站目录
New-Item -ItemType Directory -Path "C:\WebSites\MySite" -Force

2. IIS管理器配置

右键"网站" -> 添加网站 配置:
网站名称: MySite
物理路径: C:\WebSites\MySite
绑定: 
  - 类型: http
  - IP地址: 全部未分配
  - 端口: 80
  - 主机名: (留空或填写域名)

3. 应用程序池配置

创建新的应用程序池 设置.NET CLR版本: "无托管代码" 托管管道模式: 集成

七、安全配置

1. 防火墙设置

# 允许HTTP/HTTPS端口
New-NetFirewallRule -DisplayName "HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
New-NetFirewallRule -DisplayName "HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow

2. 文件权限设置

# 设置网站目录权限
icacls "C:\WebSites\MySite" /grant "IIS_IUSRS:(OI)(CI)F"

八、测试部署

1. PHP测试文件

<?php
// C:\WebSites\MySite\phpinfo.php
phpinfo();
?>

2. Python测试文件

# C:\WebSites\MySite\test.py
print("Content-Type: text/html\n")
print("<h1>Python CGI Test</h1>")
print("<p>Python is working!</p>")

3. 数据库连接测试

<?php
// C:\WebSites\MySite\db_test.php
$host = 'localhost';
$dbname = 'webapp';
$user = 'webuser';
$pass = 'YourPassword123!';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $user, $pass);
    echo "Database connection successful!";
} catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}
?>

九、性能优化

1. IIS优化

<!-- 修改applicationHost.config -->
<system.webServer>
    <caching enabled="true" enableKernelCache="true">
    <urlCompression doStaticCompression="true" doDynamicCompression="true" />
</system.webServer>

2. PHP优化

; php.ini优化
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=10000

3. MySQL优化

# my.ini优化
[mysqld]
innodb_buffer_pool_size = 512M
max_connections = 200
query_cache_size = 64M

十、常用维护命令

# 重启IIS
iisreset /restart

# 重启MySQL服务
net stop mysql
net start mysql

# 查看IIS日志
Get-Content C:\inetpub\logs\LogFiles\W3SVC1\u_ex*.log -Tail 100

# 备份网站
Compress-Archive -Path "C:\WebSites\MySite\*" -DestinationPath "C:\Backup\website_$(Get-Date -Format 'yyyyMMdd').zip"

十一、故障排查

常见问题解决:

500错误:检查应用程序池和文件权限 PHP无法执行:验证FastCGI设置和PHP安装 数据库连接失败:检查MySQL服务状态和防火墙设置 静态文件访问正常,动态文件500:检查处理程序映射

日志位置:

  • IIS日志: C:\inetpub\logs\LogFiles\
  • PHP错误日志: 查看php.ini中error_log设置
  • Windows事件日志: 应用程序和服务日志 -> Microsoft -> Windows

这个部署方案为您提供了一个完整的Windows Server 2022 IIS环境,支持PHP和Python应用运行,并与MySQL数据库集成。根据您的具体需求,可能还需要调整安全设置和性能参数。

相关帖子
在炎热的夏季,运动后如何正确处理满身大汗与洗澡的关系?
在炎热的夏季,运动后如何正确处理满身大汗与洗澡的关系?
2026年处理旧手机前,如何彻底清除个人数据防止隐私泄露?
2026年处理旧手机前,如何彻底清除个人数据防止隐私泄露?
远程办公节省了通勤,但必要的线下会议差旅费津贴政策又该如何设计?
远程办公节省了通勤,但必要的线下会议差旅费津贴政策又该如何设计?
了解电梯轿厢结构与安全钳原理,如何帮助我们破除常见的下坠恐惧?
了解电梯轿厢结构与安全钳原理,如何帮助我们破除常见的下坠恐惧?
铜陵市病人转运车辆出租电话-重症病人转院租救护车
铜陵市病人转运车辆出租电话-重症病人转院租救护车
宣城市营销型网站建设@网站建设本地公司,专业建站
宣城市营销型网站建设@网站建设本地公司,专业建站
扬州市软件开发#网站开发设计服务,小程序开发
扬州市软件开发#网站开发设计服务,小程序开发
2026年选择装修工团队时,应重点考察哪些新兴施工工艺与环保标准?
2026年选择装修工团队时,应重点考察哪些新兴施工工艺与环保标准?
准备申请材料时,哪些证明文件最容易因细节问题导致审核不通过?
准备申请材料时,哪些证明文件最容易因细节问题导致审核不通过?
关于脚踝扭伤后冰敷,流传着哪些常见的误区需要我们特别注意和避免?
关于脚踝扭伤后冰敷,流传着哪些常见的误区需要我们特别注意和避免?
如果一年内没有使用门诊报销,次年真的能提高支付比例吗?如何计算?
如果一年内没有使用门诊报销,次年真的能提高支付比例吗?如何计算?
忻州市长途救护车出租价格-医师护送,设备齐全,收费合理
忻州市长途救护车出租价格-医师护送,设备齐全,收费合理
平顶山市房产网站建设@专业网站开发制作,模板建站
平顶山市房产网站建设@专业网站开发制作,模板建站
焦作市120救护车出租-长途医疗转运车出租,按公里收费
焦作市120救护车出租-长途医疗转运车出租,按公里收费
个人在点餐、购物和储存食物时,如何轻松践行反食品浪费法精神?
个人在点餐、购物和储存食物时,如何轻松践行反食品浪费法精神?
2026年北方地区的冬季取暖费缴费,是否有提前缴费享受折扣的相关政策?
2026年北方地区的冬季取暖费缴费,是否有提前缴费享受折扣的相关政策?
吕梁市病人长途转运救护车出租电话-长途医疗转运车出租
吕梁市病人长途转运救护车出租电话-长途医疗转运车出租
厦门市AI数字人制作短视频#专业网站设计服务,专业建站公司
厦门市AI数字人制作短视频#专业网站设计服务,专业建站公司
荆州市安卓系统app开发@开源网站二次开发,专业开发团队
荆州市安卓系统app开发@开源网站二次开发,专业开发团队