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编程语言开发动态WAP页面
Oct 09 PHP
VML绘图板②脚本--VMLgraph.js、XMLtool.js
Oct 09 PHP
PHP array_push 数组函数
Dec 26 PHP
php 用checkbox一次性删除多条记录的方法
Feb 23 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
PHP日期函数date格式化UNIX时间的方法
Mar 19 PHP
php按单词截取字符串的方法
Apr 07 PHP
如何把php5.3版本升级到php5.4或者php5.5
Jul 31 PHP
Linux系统下PHP-FPM的安装和配置教程
Aug 17 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
Sep 09 PHP
Zend Framework入门教程之Zend_Mail用法示例
Dec 08 PHP
swoole和websocket简单聊天室开发
Nov 18 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
PHP 反向排序和随机排序代码
2010/06/30 PHP
PHP面向对象法则
2012/02/23 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
JS中的==运算: [''] == false —&gt;true
2016/07/24 Javascript
基于Node.js的WebSocket通信实现
2017/03/11 Javascript
用js实现before和after伪类的样式修改的示例代码
2017/09/07 Javascript
详解JS中的this、apply、call、bind(经典面试题)
2017/09/19 Javascript
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
2018/11/22 Javascript
原生JS实现的自动轮播图功能详解
2018/12/28 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
layui-table表复选框勾选的所有行数据获取的例子
2019/09/13 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
[04:29]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/02/01 DOTA
Python的时间模块datetime详解
2017/04/17 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
git进行版本控制心得详谈
2017/12/10 Python
Php多进程实现代码
2018/05/07 Python
使用 Python 实现微信群友统计器的思路详解
2018/09/26 Python
Python多线程处理实例详解【单进程/多进程】
2019/01/30 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
python实现飞机大战游戏(pygame版)
2020/10/26 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
应届生服务员求职信
2013/10/31 职场文书
面试求职的个人自我评价
2013/11/16 职场文书
服装公司总经理岗位职责
2013/11/30 职场文书
办公室综合文员岗位职责范本
2014/02/13 职场文书
优秀毕业自我鉴定
2014/02/15 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
教师个人学习总结
2015/02/11 职场文书
小学少先队工作总结2015
2015/05/26 职场文书
MySQL命令无法输入中文问题的解决方式
2021/08/30 MySQL