刚刚开始学习PHP时,一直使用phpstudy,后面发现很多东西自己单独配置安装会理解更深刻,所以自己总结了一下windows下开发环境的部署教程。

以前经常在CSDN和博客园看别人的教程,今天才注册博客园帐号,开通博客功能,第一次在网上分享自己的经验,写的不好的地方欢迎大家指正。

安装Nginx

首先在C盘根目录创建一个wnmp文件夹,在该文件夹里面创建一个www文件夹

访问http://nginx.org/en/download.html,下载nginx的Stable version,解压到wnmp里面,重命名为nginx

在C:\wnmp\nginx\conf目录下创建vhost文件夹

打开C:\wnmp\nginx\conf\nginx.conf

修改或添加如下配置

#打开错误日志记录
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
pid logs/nginx.pid; #配置nginx根目录
location / {
  root C:/wnmp/www;
  index index.html index.htm;
  autoindex on;
  autoindex_exact_size off;
  autoindex_localtime on;
} #让nginx支持PHP的设置
location ~ \.php$ {
  root C:/wnmp/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#这里$document_root指的是上面定义好的nginx根目录:C:/wnmp/www
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} #在http里面加入下面这一行扩展配置
include vhost/*.conf;

安装PHP

访问 https://windows.php.net/downloads/releases/

选择你要安装的php版本,我一般选下图中的箭头指向的那种nts的

最近尝试安装 php7.3.1 发现openssl版本可能影响到了composer安装,安装composer时错误提示如下:
composer SHA384 is not supported by your openssl extension
openssl版本好像是是1.1.1a
不得已重装了7.2,欢迎知道原因的大神解惑!

下载后解压到wnmp\php文件夹中

将php.exe目录添加进环境变量path,方便全局使用php命令。

复制php.ini-development重命名为php.ini

修改或添加如下配置,视自己情况而定

extension_dir = "C:\wnmp\php\ext"
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
date.timezone = Asia/Shanghai
enable_dl = On
cgi.force_redirect = 0
fastcgi.impersonate = 1
cgi.rfc2616_headers = 1

关联nginx和php

在C:\wnmp\nginx目录下创建start.bat内容如下

PS:下面代码里面的   RunHiddenConsole.exe    文件也是在这个目录下,目的是为了开启服务后自动隐藏命令行窗口

但是这里我不知道怎么上传这个文件。。。。。欢迎评论留言

RunHiddenConsole.exe C:\wnmp\nginx\nginx.exe
echo nginx started
RunHiddenConsole.exe C:\wnmp\php\php-cgi.exe -b 127.0.0.1:9000 -c C:\wnmp\php\php.ini
echo php started
echo .......

在C:\wnmp\nginx目录下创建stop.bat内容如下

@ECHO OFF
taskkill /f /IM nginx.exe
taskkill /f /IM php-cgi.exe
EXIT

目录结构如下

此时双击start.bat可以开启nginx和php服务

双击stop.bat可以关闭这两个服务

在www目录下新建php脚本  <?php echo phpinfo();?>

运行start.bat 访问http://127.0.0.1/ 如下

点击info.php可查看PHP安装信息,这里就不截图了。

现在PHP和NGINX安装好了,接下来安装MYSQL。

 安装MYSQL

访问https://dev.mysql.com/downloads/windows/installer/8.0.html

直接下载最新的8.0版本,建议下载完整的安装包。

具体的安装步骤我参考的这个

https://blog.csdn.net/clouderpig/article/details/79556149

在安装mysql8的时候如果选择了密码加密,之后用客户端连接比如navicate,

会提示客户端连接caching-sha2-password,是由于客户端不支持这种插件

可以通过如下方式进行修改:

#在命令行连接mysql,执行如下命令
  show databases;
  use mysql;
#修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
#更新密码(mysql_native_password模式)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
#刷新权限
  flush privileges;

现在可以用navicate去连接数据库。

到这里WNMP环境安装就大功告成啦。

WIN10下WNMP开发环境部署的更多相关文章

  1. 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  2. VMware下Debian开发环境部署之常见问题记录

    本文讲介绍windows作为宿主机,linux虚拟机作为编译环境的开发环境搭建中最常用到的三个问题,详细描述了解决过程. 目录: 1.网路配置: 2.分辨率设置: 3.共享网盘设置: 1.网络设置,V ...

  3. windows下go开发环境部署 (sublime+gosublime+geocode)

    1.下载git.go和sublime免安装版 go下载地址:http://pan.baidu.com/s/1hq1mrDM#path=%252Fgo%252F1.5.2sublime下载地址:http ...

  4. IntelliJ IDEA Windows下Spark开发环境部署

    0x01 环境说明 本地 OS: windows 10 jdk: jdk1.8.0_121 scala: scala-2.11.11 IDE: IntelliJ IDEA ULTIMATE 2017. ...

  5. Win10下Java开发环境配置

    首先下载符合操作系统版本的jdk,比如64位的JDK8: 下载链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-down ...

  6. golang在linux下的开发环境部署[未完]

    uname -a Linux symons_laptop 4.8.2-1-ARCH #1 SMP PREEMPT Mon Oct 17 08:11:46 CEST 2016 x86_64 GNU/Li ...

  7. 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  8. linux 下 ifcfg-eth0 配置/CentOS_minimal安装和开发环境部署

    CentOS_minimal安装和开发环境部署:http://www.th7.cn/system/lin/201305/39002.shtml 网络接口配置文件 [root@localhost ~]# ...

  9. 一个CentOS7的开发环境部署,包括防火墙|VPN|多IP多网关|HTTP代理服务器设置等

    http://www.lenggirl.com/code/centos7.html layout: post title: "一个CentOS7的开发环境部署,包括防火墙|VPN|HTTP代 ...

随机推荐

  1. windows 64位 安装mvn提示 不是内部或外部命令

    在安装mvn的过程中当在mvn的目录下去执行mvn命令的时候是可以正常执行的,当设置好环境变量后执行后发现提示mvn不是内部命令. 原因是设置的MAVEN_HOME变量未被Path解析,解决办法是 直 ...

  2. c# BackGroundWorker 多线程操作的小例子 (转)

    在我们的程序中,经常会有一些耗时较长的运算,为了保证用户体验,不引起界面不响应,我们一般会采用多线程操作,让耗时操作在后台完成,完成后再进行处理或给出提示,在运行中,也会时时去刷新界面上的进度条等显示 ...

  3. 使用POI解析Excel时,出现org.xml.sax.SAXParseException: duplicate attribute 'o:relid'的解决办法

    1.使用org.apache.poi解析excle,.xlsx类型文件InputStream is = new FileInputStream(strFileName);XSSFWorkbook wb ...

  4. JS调用AngularJS中的方法

    案例: 在IONIC中使用百度地图的JS版SDK,在该JS相关界面中需要触发点击事件来实现在Ionic的JS中定义的函数,参考方法如下: onclick="var $scope = angu ...

  5. 一句DOS命令搞定文件合并

    用Dos的copy命令实现: copy a.js+b.js+c.js abc.js /b 将 a.js b.js c.js 合并为一个 abc.js,最后的 /b 表示文件为二进位文件,copy 命令 ...

  6. Intellij idea 一次性包导入

    Intellij idea中优化包导入用的快捷键是 ctrl + alt + o,但是如果需要一次性优化自动导入包,可以按照如下配置

  7. js实现抛物线运动 兼容IE低版本(转)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  8. IntelliJ IDEA 运行你的第一个Java应用程序

    IntelliJ IDEA 运行你的第一个Java应用程序创建项目让我们创建一个简单的Java Hello World项目. 单击创建新的项目. 打开新建项目向导.你应该注意的主要是项目的SDK.SD ...

  9. Java虚拟机1:开篇

    1.前言 由于后期学习需要用到大量的JVM底层的东西,所有本人调整了一下学习计划,打算先从JVM入手,了解整个JAVA的运行机制,内存模型,编译原理等等一些底层的东西,这样在学习 后面的东西,会有一种 ...

  10. 折腾apt源的时候发生的错误

    在折腾Ubuntu源的时候,把新的源替换进去,然后 sudo apt-get update 之后报错: W: Unknown Multi-Arch type 'no' for package 'com ...