欢迎光临护送网
详情描述

一、环境准备

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数据库集成。根据您的具体需求,可能还需要调整安全设置和性能参数。

相关帖子
GPS/北斗/蓝牙/LBS 混在一起说,防走失定位器到底靠哪一种在“室内”还能找得到?
GPS/北斗/蓝牙/LBS 混在一起说,防走失定位器到底靠哪一种在“室内”还能找得到?
在炎热的夏季,运动后如何正确处理满身大汗与洗澡的关系?
在炎热的夏季,运动后如何正确处理满身大汗与洗澡的关系?
2026年处理旧手机前,如何彻底清除个人数据防止隐私泄露?
2026年处理旧手机前,如何彻底清除个人数据防止隐私泄露?
远程办公节省了通勤,但必要的线下会议差旅费津贴政策又该如何设计?
远程办公节省了通勤,但必要的线下会议差旅费津贴政策又该如何设计?
了解电梯轿厢结构与安全钳原理,如何帮助我们破除常见的下坠恐惧?
了解电梯轿厢结构与安全钳原理,如何帮助我们破除常见的下坠恐惧?
铜陵市病人转运车辆出租电话-重症病人转院租救护车
铜陵市病人转运车辆出租电话-重症病人转院租救护车
海南病人跨省市转运服务电话-病人出院医疗车护送
海南病人跨省市转运服务电话-病人出院医疗车护送
如何识别并避开那些宣传“速成”但实际学习路径混乱、成本高昂的培训课程或方法?
如何识别并避开那些宣传“速成”但实际学习路径混乱、成本高昂的培训课程或方法?
为什么怒江大峡谷过去会长期选择“溜索过江”,而不是更常规的摆渡或建桥方式?
为什么怒江大峡谷过去会长期选择“溜索过江”,而不是更常规的摆渡或建桥方式?
未来“零信任”安全架构的普及,会对公共网络环境下的访问控制产生什么影响?
未来“零信任”安全架构的普及,会对公共网络环境下的访问控制产生什么影响?
佳木斯市120救护车出租公司-长途救护车租车护送病人转院
佳木斯市120救护车出租公司-长途救护车租车护送病人转院
淮安市高效获客软件@品牌网站建设开发,专业建站公司
淮安市高效获客软件@品牌网站建设开发,专业建站公司
万宁市病人跨省市转运租救护车-跨省转运车护送病人返乡
万宁市病人跨省市转运租救护车-跨省转运车护送病人返乡
大理营销网站建设#网站定制服务,多年专业建站经验
大理营销网站建设#网站定制服务,多年专业建站经验
顶楼把边户和中间户的供暖温差为什么能差出三四度,这和建筑保温有什么关系?
顶楼把边户和中间户的供暖温差为什么能差出三四度,这和建筑保温有什么关系?
房抵贷的担保范围包括哪些?不只是本金利息还有这些费用
房抵贷的担保范围包括哪些?不只是本金利息还有这些费用
全面科普银行贷款基础常识,详解产品分类、申请门槛与核心业务逻辑
全面科普银行贷款基础常识,详解产品分类、申请门槛与核心业务逻辑
假性近视的恢复周期通常是多长,有哪些指标可以判断恢复进程是否良好?
假性近视的恢复周期通常是多长,有哪些指标可以判断恢复进程是否良好?
绥化市正规长途救护车出租-救护车转院病人返乡
绥化市正规长途救护车出租-救护车转院病人返乡
如何提前了解并整合社区内各项为老、为弱服务,以便未来需要时能及时获取?
如何提前了解并整合社区内各项为老、为弱服务,以便未来需要时能及时获取?