准备篇

一、环境说明:

操作系统:Windows Server 2019

PHP版本:php 7.3.11

MySQL版本:MySQL 8.0.18.0

二、相关软件下载:

1、PHP下载地址:

../down/wapgame/244

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

全部安装完成后,点关闭。

../down/wapgame/244

解压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文件

内容如下:

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环境搭建教程完成。