环境:Windows 10 x64

参考文章: WNMP完整教程      windows下PHP环境的搭建

我自定义安装后的目录结构:

+WNMP

  ++MySQL_Server-8.0.13  

  ++nginx-1.15.8   

++php-7.3.1   

  ++www   

\wnmp                             WNMP总目录
├─MySQL_Server-8.0.13 MySQL安装目录
├─nginx Nginx1.15.8安装目录
├─php            PHP7.3.1安装目录
├─www 网站目录

PATH环境变量:

C:\WNMP\MySQL_Server-8.0.13\bin;
C:\WNMP\nginx;
C:\WNMP\php;

一、下载

MySQL下载:https://www.mysql.com/why-mysql/windows/

(我选的是MySQL Installer for Windows)关于web版和普通版的区别,只需要注意看下载页的说明。官网有帮助可以看。

PHP下载:https://windows.php.net/download/

我选的是x64最新版的Non Thread Safe版

在Windows下是用FastCGI模式运行php,所以就没必要使用线程安全检查,选用非线程安全版效率会高一些。) 区别在此

Nginx下载:https://nginx.org/en/download.html

我选了 nginx/Windows-1.15.8

二、安装/配置

1,MySQL8的msi包安装

更详细的安装可看Windows上安装MySQL

安装过程我选了自定义安装,Server和一些示例帮助

点开子项,点绿色的箭头就是添加功能。然后点右侧功能就能Advanced Options自定义安装路径

我只改了安装路径为*WNMP\MySQL_Server-8.0.13

然后一路确定到Accounts and Roles那一步,好了,现在设置你想要的root账号密码,并添加一个常用非root用户,然后就一路确定到底。最后它会让你测试连接到你刚安装好的MySQL服务。最后本地MySQL服务器配置完成,它会给你一个log(可在log里搜索一下是否有错误)

2,安装PHP

解压php压缩包到wnmp目录下,复制粘贴php安装目录(我的是php)里的php.ini-development为php.ini

[文章引用]
逐一查找到如下代码修改并将前面的分号去掉(具体含义请谷歌百度必应)
;extension_dir = "ext"
  ;date.timezone =
;cgi.force_redirect = 1
;cgi.fix_pathinfo=1
;fastcgi.impersonate = 1
;cgi.rfc2616_headers = 0
改为:
extension_dir = "C:/WNMP/php/ext"  也就是 你的php安装目录/ext
date.timezone = Asia/Shanghai
  cgi.force_redirect = 1
cgi.fix_pathinfo=1
fastcgi.impersonate = 1
cgi.rfc2616_headers = 0

3,安装Nginx

[文章引用自韶华倾负]
1.将Nginx压缩包解压到建好的wnmp/nginx文件夹中;
2.打开nginx/conf/nginx.conf进行配置
将 server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
} 注:
【由于80和默认IIS冲突,我自己的改成了listen 82端口】 配置文件修改:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root C:/WNMP/www;
index index.html index.htm index.php;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root C:/WNMP/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
保存后双击nginx.exe就可以直接运行Nginx服务器(双击nginx.exe),打开浏览器输入localhost就可以看到欢迎页。

配置成功效果:

附上Nginx命令

切换到nginx目录重载nginx :

nginx -s reload

三、测试

配置环境后查看版本号

mysqld --version
nginx -v
php -v

1,打开cmd,切换到php-cgi.exe所在目录:

php-cgi.exe -b 127.0.0.1: -c php.ini

启动后最小化,再新开一个cmd,输入

netstat -a|findstr ""

查看9000端口是否被监听,是则说明cgi运行成功。

2.在www目录下新建index.php
<?php
phpinfo(); ?>

测试MySQL:

再nginx的html目录(即WNMP\www)下新建MySqltest.php

<?php
$link = new mysqli('localhost', 'root', 'root');
if(!$link) {
echo "FAILD!";
} else {
echo "OK!";
}

红色部分的请填写自己的服务器地址(我的是localhost:82)、数据库用户名、密码

内容含义参考:https://www.w3schools.com/php/func_mysqli_connect.asp

浏览器访问 http://localhost/sqltest.php (如果nginx用82端口,请访问http://localhost:82/sqltest.php)

若结果如下,即红色部分填写出错(登录数据库失败)

如果没问题,那本地WNMP就初步配置好了。

附上:Nginx开发从入门到精通 淘宝工程师

本地手动一步步搭建WNMP环境(nginx+php+mysql) Windows平台的更多相关文章

  1. ubuntu14.04搭建LAMP环境(nginx,php,mysql,linux)详解

    最近更换开发环境至ubuntu,整理开发环境和常用软件的安装配置(更新排版) 以下安装过程经过多次操作得出,参照步骤进行操作即可 一.LAMP基本环境搭建 1 切换root账号 sudo su 2,安 ...

  2. 一步步搭建react-native环境(苹果OS X)

    因重新升级了系统,一步步搭建react-native环境. 1.安装Homebrew 打开终端命令->ruby -e "$(curl -fsSL https://raw.githubu ...

  3. CentOS7.X安装LMMP环境Nginx+PHP+Mysql详解

    前言: 作为PHP开发者,我们常用的线上环境就是LNMP,合理的搭建也是必须掌握的技能,下面就利用源码的方式详细介绍下LNMP环境Nginx+PHP+Mysql的详细搭建步骤: 版本说明: Nginx ...

  4. vue打包之后在本地运行,express搭建服务器,nginx 本地服务器运行

    一.使用http-server 1.安装http-server npm install -g http-server 2.通过命令进入到dist文件夹 3.运行http-server 以上在浏览器输入 ...

  5. centos7.2环境yum方式快速搭建lnmp环境nginx+mariadb+php-fpm

    centos7.2环境yum方式安装nginx+mariadb+php-fpm 1.安装lnmp环境 安装epel源 yum install -y epel-release 安装 MySQL + PH ...

  6. 搭建eclipse环境下 Nutch+Mysql 二次开发环境

    最近看了下Nutch,目前Nutch最新版本2.3.1,支持Hbase.MongoDB等存储,但在搭建和测试过程中发现对Mysql 的支持好像有点问题. 后来将Nutch版本改为2.2.1.基于Nut ...

  7. 阿里云EDAS在本地CentOS7.5 系统搭建测试环境,部署配置中心以及部署多个war包

    参考阿里云的EDAS开发文档: 使用 Ali-Tomcat 开发应用 我们自己在内网搭建CentOS7 的测试环境,需要的资源如下: Ali-Tomcat Pandora 容器 EDAS 配置中心安装 ...

  8. Centos 6.5 搭建php环境(nginx+mariadb+php7)

    1.mariaDb vim /etc/yum.repos.d/MariaDB.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.or ...

  9. 1. mac 手动安装nodejs搭建vue环境

    为什么选择手动安装nodejs呢? 因为使用mac自动安装还要更新homebrew,还要安装xcode tool, 太费劲了,不如手动安装, 卸载起来也方便 再一个, 我是后台开发者, 对前端页面, ...

随机推荐

  1. 《数据结构》《C++程序设计》《计算机组成原理》中的英语名词

    一.数据结构 data 数据data element 数据元素data item 数据项data object 数据对象data structure 数据结构ADT (Abstruct Date Ty ...

  2. VM1059 bootstrap-table.min.js:7 Uncaught TypeError: Cannot read property 'classes' of undefined

    参考链接:https://blog.csdn.net/liuqianspq/article/details/81868283 1.阳光明媚的下午,我在写CRUD,让数据传到前端的时候,解析的时候报错了 ...

  3. TCP SYN flood洪水攻击原理和防御破解

    简介 TCP协议要经过三次握手才能建立连接: 于是出现了对于握手过程进行的攻击.攻击者发送大量的SYN包,服务器回应(SYN+ACK)包,但是攻击者不回应ACK包,这样的话,服务器不知道(SYN+AC ...

  4. Oracle查询日期字段是否包含时分秒 TRUNC() 函数

    可以使用 ORACLE TRUNC()函数 来进行判断 表 A 日期字段 datetime 部分数据带时分秒,部分数据没有时分秒 select * from A where datetime = TR ...

  5. Python - 数据结构 - 第十五天

    Python 数据结构 本章节我们主要结合前面所学的知识点来介绍Python数据结构. 列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和 ...

  6. C# 实现敏感词过滤

    实现 该 敏感词过滤 采用的是 DFA算法,参考文章:https://blog.csdn.net/chenssy/article/details/26961957 具体 实现 步骤 如下: 第一步,构 ...

  7. jQuery遍历 - 过滤first(),last()和eq()使用

    jQuery遍历 - 过滤最基本的过滤方法是first(),last()和eq(),它们允许您根据元素在一组元素中的位置选择特定元素. 其他过滤方法(如filter()和not())允许您选择与特定条 ...

  8. wpf 工程生成dll

    在WPF项目里,当工程里包含窗体时候, 不可以使用类库的方式生产dll,虽然系统支持引用exe 文件,但总是觉得不如dll习惯,后来发现,新建个项目,类型选择“WPF自定义类件库”,名称和工程名称相同 ...

  9. 多版本切换python

    Python 安装包去官网自行下载: https://www.python.org/downloads/mac-osx/ Mac os 自带python, 但我记得是python2.7版本 在选择安装 ...

  10. VMware虚拟机可与Win10物理机互ping并可访问互联网的设置方法

     一.系统环境: VMware 15.Windows 10 1903.Windows 7 虚拟机 二.具体步骤: 1.Win10物理机,控制面板-所有控制面板项-网络连接-物理网卡适配器右键-属性-共 ...