準備篇
一、環境說明:
操作系統:Windows Server 2019
PHP版本:php 7.3.11
MySQL版本:MySQL 8.0.18.0
二、相關軟件下載:
1、PHP下載地址:
https://windows.php.net/downloads/releases/php-7.3.11-nts-Win32-VC15-x64.zip
2、MySQL下載地址:
https://cdn.mysql.com//Downloads/MySQLInstaller/mysql-installer-community-8.0.18.0.msi
3、Visual C++ Redistributable for Visual Studio 2015(安裝PHP、MySQL需要此插件)
https://download.visualstudio.microsoft.com/download/pr/11100229/78c1e864d806e36f6035d80a0e80399e/VC_redist.x86.exe
https://download.visualstudio.microsoft.com/download/pr/11100230/15ccb3f02745c7b206ad10373cbca89b/VC_redist.x64.exe
4、Microsoft URL 重寫模塊 2.0下載地址(IIS偽靜態需要此插件)
https://download.microsoft.com/download/4/E/7/4E7ECE9A-DF55-4F90-A354-B497072BDE0A/rewrite_x64_zh-CN.msi
安裝篇
一、安裝IIS10.0
控制面板-系統和安全-管理工具

服務器管理器

添加角色和功能

下一步

選擇:基于角色或基于功能的安裝
下一步

選擇:從服務器池中選擇服務器
下一步

選擇:Web服務器(IIS)

添加功能

下一步

下一步

下一步

確保CGI被選中,其他的角色服務根據需要選擇,如果不知道如何選擇,建議選擇全部功能。

下一步

安裝

顯示安裝成功,點關閉。

可以看到角色和服務器組中已經有了IIS
打開IE瀏覽器,輸入http://127.0.0.1/會看到下面的界面

IIS10.0已經安裝完成。
二、安裝PHP
1、Visual C++ Redistributable for Visual Studio 2017 (x86、x64)

安裝x86

安裝x64

全部安裝完成后,點關閉。
2、安裝php-7.3.11-nts-Win32-VC15-x64.zip

解壓php-7.3.11-nts-Win32-VC15-x64.zip文件

重命名文件夾為php73,把php73文件夾拷貝到C盤根目錄

打開C:\php
復制php.ini-production為php.ini
用記事本打開php.ini
做如下添加修改:
extension_dir = "C:\php73\ext" #設置php模塊路徑
date.timezone = PRC #設置時區為中國時區
cgi.force_redirect = 0 #開啟以CGI方式運行php
fastcgi.impersonate = 1;
cgi.rfc2616_headers = 1
以下php擴展模塊,根據需要選擇開啟,取消前面的分號為開始相應擴展模塊
extension=curl
extension=gd2
extension=mbstring
extension=exif
extension=mysqli
extension=sockets
extension=php_xmlrpc
extension=php_pdo_mysql


修改完成后,保存退出
3、配置IIS支持PHP
打開控制面板-系統和安全-管理工具

打開服務器管理器

雙擊左邊“起始頁”下面的計算機名稱

找到中間的IIS部分,打開“處理程序映射”。

點右邊的“添加模塊映射”

請求路徑:*.php
模塊:FastCgiModule
可執行文件(可選):C:\php73\php-cgi.exe
名稱:FastCGI
最后,確定

是

雙擊左邊“起始頁”下面的計算機名稱
找到中間的IIS部分,打開“FastCGI設置”

右鍵選中:C:\php73\php-cgi.exe然后選擇編輯

監視對文件所做的更改:C:\php73\php.ini

環境變量,點旁邊的"..."

點“添加”

Name:PHP_FCGI_MAX_REQUESTS
Value:1000
確定

雙擊左邊“起始頁”下面的計算機名稱
找到中間的IIS部分,打開“默認文檔”

點右邊的“添加”
名稱:index.php
確定
可以選擇右邊操作下面“上移”選項,把index.php移到最上邊
4、測試php程序是否正常運行
打開:
C:\inetpub\wwwroot
新建一個index.php文件
內容如下:
<?php
phpinfo();
?>
最后,保存退出

在瀏覽器里面打開http://127.0.0.1/
出現下面的界面,說php程序可以正常運行。

三、安裝MySQL
雙擊打開mysql-installer-community-8.0.18.0

選中“Custom”(自定義安裝)
Next

Edit

選擇MySQL Servers 64位
Filter

點開MySQL Servers
選擇要安裝的版本,點箭頭移動到右邊窗口
Next

Execute

Next

Next

默認,Next

Config Type(配置類型):
Developer Machine(開發服務器)
Server Machine(普通服務器)
Dedicated Machine(專用服務器)
這里選擇第二項:Server Machine(普通服務器)
勾選“TCP/IP ”
Port Number(端口):3306
勾選“Open firewall port for network access“(打開防火墻端口網絡訪問)
Next

選擇第二項,使用兼容MySQL5.7之前版本的加密方式
Next

MySQL Root password:輸入密碼
Repeat Password:重復輸入密碼
設置好之后,點Next

勾選:配置MySQL系統服務
Windows Server Name(Windows服務名):MySQL80
勾選:“Start the MySQL Server at System Startup“(在系統啟動時啟動MySQL服務器)
勾選:Standard System Account 默認使用系統用戶運行
Next

Execute

Finish

Next

Finish
打開MySQL安裝路徑
C:\Program Files\MySQL\MySQL Server 8.0
新建配置文件my.ini
[mysqld]
# 設置3306端口
port=3306
# 設置mysql的安裝目錄
basedir=C:\Program Files\MySQL\MySQL Server 8.0
# 設置mysql數據庫的數據的存放目錄
datadir=C:\Program Files\MySQL\Data
# 允許最大連接數
max_connections=1000
# 允許連接失敗的次數。這是為了防止有人從該主機試圖攻擊數據庫系統
max_connect_errors=10
# 服務端使用的字符集默認為UTF8
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
# 默認使用“mysql_native_password”插件認證
default_authentication_plugin=mysql_native_password
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[client]
# 設置mysql客戶端連接服務端時默認使用的端口
port=3306
default-character-set=utf8
保存
打開C:\ProgramData\Microsoft\Windows\Start Menu\Programs\MySQL\MySQL Server 8.0
雙擊MySQL Server 8.0 Command Line Client

輸入安裝時候的MySQL root賬號密碼,回車,登錄到MySQL控制臺


MySQL安裝完成
四、配置IIS10.0支持偽靜態
雙擊安裝Microsoft URL 重寫模塊rewrite_x64_zh-CN.msi

出現錯誤提示,確定

搜索-運行
輸入regedit,確定,打開注冊表,找到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters
右側的MajorVersion是DWORD值,它的值十進制是10,把它改成9。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp
也是MajorVersion 項,這個也是dword值10(注意是十進制),把它改成9
然后再次安裝,切記安裝完之后再改回來。


再次安裝

安裝

完成

在:控制面板-系統和安全-管理工具-Internet Information Services (IIS)管理器中可以看到”URL重寫“
在:網站根目錄下新建文件web.config,添加偽靜態規則代碼即可實現網站靜態化。
至此,Windows Server 2019 IIS10.0+PHP(FastCGI)+MySQL環境搭建教程完成。