VMWare Workstation Player12
Windows10 Pro x64
一、安装系统
vmware 会采用 fast install 方式很快装完,无需配置什么。
二、配置 IIS
在“程序和功能”下,打开“启用或关闭Windows功能”。把 Internet Infomation Services 功能添加进去,需要注意的是“应用程序开发功能”里边的CGI默认是不勾选的,需要手动选择
注:在实际安装时,IIS 我是最后添加的,但写在了最前面,没有什么特殊含义。但因此会更改 IIS 的绑定端口。
关于端口:安装后,由于 80 被占,点击“Default Web Site”右边的“绑定”,修改端口号为“任意”,比如 8800,以后访问时候就用“localhost:8800”方式访问即可。
关于虚拟目录:如果需要虚拟目录,可以增加。添加后就要这样访问“localhost:8800/虚拟目录名/页面”,如 localhost:8800/myweb/phpinfo.php。
关于FastCGI:选择 Default Web Site,点击功能区里边的处理程序映射,添加模块映射。
在网站默认/指定路径下,放一个内容为<?php phpinfo(); ?> 的文件,可以命名为 phpinfo.php。启动或重启 IIS 服务,默认路径输入 localhost:8800/phpinfo.php,指定路径(如放在了虚拟目录下)输入 localhost:8800/虚拟目录别名/phpinfo.php,显示下图即为 IIS + PHP 组合成功
三、编译安装 MySQL
参考示例:https://www.jb51.net/article/95023.htm 或类似
下载 zip 形式的 mysql server,解压到全英文路径下(中文没试,避免麻烦)。添加环境变量,系统变量 Path 中添加上 MySQL 的路径
在MySQL根目录下新建一个配置文件,命名为 my.ini,内容如下
[client] port=3306 default-character-set=utf8 [mysqld] port=3306 character_set_server=utf8 #mysql的安装/解压目录 basedir=C:\Dev\mysql57 #mysql的数据目录 datadir=C:\Dev\mysql57\data sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
既然是配置,basedir 和 datadir 是可以根据自己要求指定的,只要配置文件中写正确即可。我将 datadir 指定为 basedir 路径下了,而解压缩时 data 文件夹并不存在,因此手动建立一个。完成后,目录结构如下图
打开 cmd 命令行工具,以管理员身份运行
运行命令:cd....切换到 mysql 根目录下
运行命令:mysqld --initialize --user=mysql --console
该命令执行中的最后,mysql会分配一个 temporary password,记住:CZX3ge1kuz)L
运行命令:mysqld --install MySQL
安装完成
net start mysql 启动服务
net stop mysql 停止服务
sc delete MySQL 删除服务(按需使用)
使用初始密码登录后,使用 set password for root@localhost=password('新密码') 来更改密码
四、安装php
php下载 Non Thread Safe 或 Thread Safe 都行,暂时不清楚有什么具体运行时的区别。解压缩到指定文件夹,按照网上多如牛毛的“教程”复制 php.ini-development 或 php.ini-production 为 php.ini,并修改里边的 extension_dir 为 php 安装目录下的 ext 文件夹,如下图
然后按照需要(截止到写文时,我暂不知道什么需要什么不需要)将 ;extension=xxxx 这样的扩展启用,启用方法就是去掉前面的英文半角冒号并保存。
但有教程说,不要图方便都启用,会碰到意外报错,按说应该是这样。但因为我刚入门并不了解,所以只能都启用或都不启用,后面慢慢积累经验吧。
五、安装 nginx
下载 nginx,并解压缩到全英文目录。进入 conf 文件夹,修改 nginx.conf 文件。相对 php,nginx 的配置文件简短的多,修改 location {} 和 #pass the php scripts to FastCGI ...下面 location{} 两个部分。
修改 root 元素:修改成 web 路径,比如网页默认路径是 C:\www,就修改成这个。
修改fastcgi_pass:默认我没有动,但端口号无疑肯定可以修改