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 相关文章推荐
计数器详细设计
Oct 09 PHP
PHP将DateTime对象转化为友好时间显示的实现代码
Sep 20 PHP
初识laravel5
Mar 02 PHP
双冒号 ::在PHP中的使用情况
Nov 05 PHP
PHP 7的一些引人注目的新特性简单介绍
Nov 08 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
Mar 21 PHP
Yii2 RESTful中api的使用及开发实例详解
Jul 06 PHP
php输出图像的方法实例分析
Feb 16 PHP
PHP高精确度运算BC函数库实例详解
Aug 15 PHP
laravel5.2表单验证,并显示错误信息的实例
Sep 29 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
Oct 17 PHP
有关PHP 中 config.m4 的探索
Aug 26 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
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
2013/11/26 PHP
再推荐十款免费的php开发工具
2015/11/09 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
php实现记事本案例
2020/10/20 PHP
js动态创建及移除div的方法
2015/06/03 Javascript
JSON相关知识汇总
2015/07/03 Javascript
Javascript 实现简单计算器实例代码
2016/10/23 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
在微信小程序中使用图表的方法示例
2019/04/25 Javascript
使用layui实现树形结构的方法
2019/09/20 Javascript
Electron 调用命令行(cmd)
2019/09/23 Javascript
JavaScript实现省市区三级联动
2020/02/13 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
Python网络爬虫实例讲解
2016/04/28 Python
详解Python进程间通信之命名管道
2017/08/28 Python
Python 多线程不加锁分块读取文件的方法
2018/12/11 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
解决pycharm最左侧Tool Buttons显示不全的问题
2019/12/17 Python
在keras 中获取张量 tensor 的维度大小实例
2020/06/10 Python
荷兰本土平价百货:HEMA
2017/10/23 全球购物
俄罗斯花园种植材料批发和零售网上商店:Беккер
2019/07/22 全球购物
小学敬老月活动方案
2014/02/11 职场文书
党员干部2014全国两会学习心得体会
2014/03/10 职场文书
2014年百日安全生产活动总结
2014/05/04 职场文书
安全环保标语
2014/06/09 职场文书
2014公司年终工作总结
2014/12/19 职场文书
公司食堂管理制度
2015/08/05 职场文书
银行培训心得体会范文
2016/01/09 职场文书
演讲稿之我的初心我的成长
2019/08/12 职场文书
tensorflow学习笔记之tfrecord文件的生成与读取
2021/03/31 Python
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL