Win10 下安装配置IIS + MySQL + nginx + php7.1.7


Posted in PHP onAugust 04, 2017

环境:

VMWare Workstation Player12

Windows10 Pro x64

 一、安装系统

vmware 会采用 fast install 方式很快装完,无需配置什么。

二、配置 IIS

在“程序和功能”下,打开“启用或关闭Windows功能”。把 Internet Infomation Services 功能添加进去,需要注意的是“应用程序开发功能”里边的CGI默认是不勾选的,需要手动选择

Win10 下安装配置IIS + MySQL + nginx + php7.1.7

注:在实际安装时,IIS 我是最后添加的,但写在了最前面,没有什么特殊含义。但因此会更改 IIS 的绑定端口。

关于端口:安装后,由于 80 被占,点击“Default Web Site”右边的“绑定”,修改端口号为“任意”,比如 8800,以后访问时候就用“localhost:8800”方式访问即可。

关于虚拟目录:如果需要虚拟目录,可以增加。添加后就要这样访问“localhost:8800/虚拟目录名/页面”,如 localhost:8800/myweb/phpinfo.php。

关于FastCGI:选择 Default Web Site,点击功能区里边的处理程序映射,添加模块映射。

Win10 下安装配置IIS + MySQL + nginx + php7.1.7

在网站默认/指定路径下,放一个内容为<?php phpinfo(); ?> 的文件,可以命名为 phpinfo.php。启动或重启 IIS 服务,默认路径输入 localhost:8800/phpinfo.php,指定路径(如放在了虚拟目录下)输入 localhost:8800/虚拟目录别名/phpinfo.php,显示下图即为 IIS + PHP 组合成功

Win10 下安装配置IIS + MySQL + nginx + php7.1.7

 三、编译安装 MySQL

 参考示例:https://3water.com/article/95023.htm 或类似

下载 zip 形式的 mysql server,解压到全英文路径下(中文没试,避免麻烦)。添加环境变量,系统变量 Path 中添加上 MySQL 的路径

Win10 下安装配置IIS + MySQL + nginx + php7.1.7

在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 文件夹并不存在,因此手动建立一个。完成后,目录结构如下图

Win10 下安装配置IIS + MySQL + nginx + php7.1.7

打开 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 文件夹,如下图

Win10 下安装配置IIS + MySQL + nginx + php7.1.7

然后按照需要(截止到写文时,我暂不知道什么需要什么不需要)将 ;extension=xxxx 这样的扩展启用,启用方法就是去掉前面的英文半角冒号并保存。

Win10 下安装配置IIS + MySQL + nginx + php7.1.7

但有教程说,不要图方便都启用,会碰到意外报错,按说应该是这样。但因为我刚入门并不了解,所以只能都启用或都不启用,后面慢慢积累经验吧。

 五、安装 nginx

下载 nginx,并解压缩到全英文目录。进入 conf 文件夹,修改 nginx.conf 文件。相对 php,nginx 的配置文件简短的多,修改 location {} 和 #pass the php scripts to FastCGI ...下面 location{} 两个部分。

修改 root 元素:修改成 web 路径,比如网页默认路径是 C:\www,就修改成这个。

修改fastcgi_pass:默认我没有动,但端口号无疑肯定可以修改

cmd 命令行管理员运行模式下,cd 切换到 nginx 目录,运行 start nginx 即可启动服务。由于我实际安装时先安装了 nginx,占据 80 端口,因此直接浏览器运行 localhost 应该显示 nginx 的欢迎画面。

Win10 下安装配置IIS + MySQL + nginx + php7.1.7

至此,windows 环境下配置完成。

注:截止到写稿时,nginx + php 的组合,phpinfo 还没有正确显示出来,明天搞定这个。并研究一下 80 端口是否谁先运行谁先占用的问题。

PHP 相关文章推荐
php.ini 中文版
Oct 28 PHP
关于时间计算的结总
Dec 06 PHP
php代码把全角数字转为半角数字
Dec 10 PHP
php登陆页的密码处理方式分享
Oct 14 PHP
php跨域cookie共享使用方法
Feb 20 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 PHP
PHP文件锁定写入实例解析
Jul 14 PHP
PHP实现长文章分页实例代码(附源码)
Feb 03 PHP
PHP数组实例详解
Jun 26 PHP
thinkPHP显示不出验证码的原因与解决方法分析
May 20 PHP
PHP架构及原理知识点详解
Dec 22 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
May 02 PHP
php7安装yar扩展的方法详解
Aug 03 #PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
Aug 03 #PHP
PHP7扩展开发教程之Hello World实现方法示例
Aug 03 #PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
Aug 03 #PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
Aug 03 #PHP
使用PHP json_decode可能遇到的坑与解决方法
Aug 03 #PHP
Yii 2中的load()和save()示例详解
Aug 03 #PHP
You might like
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
php精确的统计在线人数的方法
2015/10/21 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
2016/09/30 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
简单的前端js+ajax 购物车框架(入门篇)
2011/10/29 Javascript
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
关于JS中的闭包浅谈
2013/08/23 Javascript
自己实现ajax封装示例分享
2014/04/01 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
2015/10/29 Javascript
JS组件Form表单验证神器BootstrapValidator
2016/01/26 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
通过jsonp获取json数据实现AJAX跨域请求
2017/01/22 Javascript
Vue工程模板文件 webpack打包配置方法
2017/12/26 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
浅谈vux之x-input使用以及源码解读
2018/11/04 Javascript
vue实现的网易云音乐在线播放和下载功能案例
2019/02/18 Javascript
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
python递归法解决棋盘分割问题
2019/07/17 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
pytorch获取vgg16-feature层输出的例子
2019/08/20 Python
pygame实现飞机大战
2020/03/11 Python
实例讲解使用SVG制作loading加载动画的方法
2016/04/05 HTML / CSS
李维斯德国官方网上商店:Levi’s德国
2016/09/10 全球购物
英国假睫毛购买网站:FalseEyelashes.co.uk
2018/05/23 全球购物
德国隐形眼镜店:LuckyLens
2018/07/29 全球购物
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
先进集体事迹材料
2014/02/17 职场文书
10的分与合教学反思
2014/04/30 职场文书
测量员岗位职责
2015/02/14 职场文书
体育部部长竞选稿
2015/11/21 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书