一直没有尝试Nginx作为Web服务器,时常用的是apache,在Ubuntu下,输入一些安装命令就可以把LAMP环境比较轻松的搭建起来。

系统: windows 10 NT ,Nginx-1.14.0,PHP 7.2.5,Mysql

nginx 下载 windows版本的压缩包,如: ,在 PHP 官网 下载,再 点击页面的 Windows downloads,就是进入下载适合运行在windows下的PHP软件包。

我个人习惯软件安装在D盘,在D盘新建一个 wnmp 文件夹,将下载好的 Nginx 压缩包,放入 wnmp 文件夹内,解压缩之后,Nginx的路径就是 D:\wnmp\nginx-1.14.0

将下载好的PHP压缩包解压到 wnmp文件夹下,文件夹重命名为 php-7.2.5 ,PHP的路径就是: D:\wnmp\php-7.2.5

再在wnmp文件夹下,新建一个 htdocs 文件夹,准备作为nginx的 root目录,路径是: D:\wnmp\htdocs

一. 配置文件的修改

进入php(就是刚才已重命名的php-7.2.5,后面将一直用 php文件夹 来代替说明)文件夹内, 复制一份 php.ini-development 文件之后,将复制之后的文件重命名为 php.ini,编辑 php.ini 文件

1. PHP配置部分

1. 查找 extension_dir,

; extension_dir = "ext" #ext扩张文件夹目录

去掉前面的";"号,修改之后,如

extension_dir = "D:\wnmp\php-7.2.5\ext"

2. 查找 cgi.fix_pathinfo

;cgi.fix_pathinfo= #Php的CGI的设置

去掉前面的";"号,修改之后,如

cgi.fix_pathinfo=

3. 其它配置

找到:;date.timezone = ,先去前面的分号再改为 date.timezone = Asia/Shanghai
找到:enable_dl = Off 改为 enable_dl = On
找到:;cgi.force_redirect = 1 先去前面的分号再改为 cgi.force_redirect = 0
找到:;fastcgi.impersonate = 1 去掉前面的分号
找到:;cgi.rfc2616_headers = 0 先去前面的分号再改为 cgi.rfc2616_headers = 1

2. nginx的配置

进入 nginx的文件夹内,进入conf文件夹,使用编辑器打开 nginx.conf 配置文件,

找到:location /,

location / {
root html;#可修改,默认是nginx目录下的html文件夹(指向站点的根目录)
index index.html index.htm;
}

在上面的 index 的最后面添加 index.php,修改之后如:

location / {
root D:/wnmp/htdocs;
index index.html index.htm index.php;
fastcgi_read_timeout ; #配置读取cgi超时时间
}

再找到 location ~ \.php$ ,大概在 64~65行,

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

去掉的"#"号,将root 指向站点根目录。再把 /scripts 替换为 $document_root, $document_root 是指前面"root"所指的站点根目录,修改之后的效果如:

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:
#
location ~ \.php$ {
root D:/wnmp/htdocs;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

3. mysql 安装部分

mysql 我是从 sohu mysql镜像站 网站下的 mysql-5.7.23-winx64.zip(个人电脑是64位的系统,所以下的64位的压缩包) 的文件,解压到 D:\wnmp 文件夹下,路径像是: D:\wnmp\mysql-5.7.23-winx64

将 mysql 路径放入到 电脑环境变量 PATH中,  我在win10打开环境变量 常用的方法是: 进入桌面,右键  "此电脑" -> 选择 属性 -> 点击左边菜单的 高级系统设置 就会打开环境变量窗口了

我新建了一个用户变量,变量名为 "MYSQL_HOME",变量值为 我的Mysql文件夹路径,如下图:

然后编辑 变量 Path 的变量值中新建一个 "%MYSQL_HOME%\bin",最后点击确认按钮,确认保存修改。

在mysql 的目录(如我的电脑上安装的路径是:D:\wnmp\mysql-5.7.23-winx64)下建立一个 `my.ini`的文件,我放入的配置内容是

[mysql]
default-character-set=utf8
[mysqld]
basedir=D:\wnmp\mysql-5.7.23-winx64
datadir=D:\wnmp\mysql-5.7.23-winx64\data
port=3306
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
skip-grant-tables

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[client]
password = 123456
port = 3306
socket = /tmp/mysql.sock
default-character-set=utf8

安装 mysql

打开cmd 窗口,进入mysql bin目录,

安装mysql服务

#安装mysql
mysqld install
# 移除mysql
# mysqld remove

初始化

mysqld --initialize

初始化完成之后,可以在刚才配置的my.ini文件中,配置的datadir中找到一个以".err"结尾的一个文件,在里可以找到一行 类似 "[Note] A temporary password is generated for root@localhost: " 字样的,后面的就是mysql root用户的密码了,如:

在cmd 命令行中,可运行

# 启动mysql
net start mysql
# 停止mysql
# net stop mysql

二. 启动服务

1. 启动 php cgi服务

D:\wnmp\php-7.2.\php-cgi.exe -b 127.0.0.1: -c "D:\wnmp\php-7.2.5\php.ini"

2. 启动 nginx服务,进入 nginx 目录,输入start nginx.exe 就启动了,dos 命令如:

D:
cd wnmp
cd nginx-1.14.
start nginx.exe #nginx -s reload 重新加载文件
#nginx -s stop 停止nginx

3. 在nginx root目录下,新建一个 phpinfo.php 文件,编辑该文件,内容是:

<?php
phpinfo(); # 输出php信息

4. 使用浏览器访问 : http://localhost/phpinfo.php ,将会显示 php 信息,如:

三. 建立 bat 文件

因为手动分别启动 php-cgi,nginx有点麻烦,所以通过bat 进行启动,

1. 先下载 RunHiddenConsole.zip ,将解压出来的 RunHiddenConsole.exe 文件放入到 wnmp 目录下,新建一个 start.bat 文件,编辑该文件,内容如:

@echo off
echo Starting PHP FastCGI...
D:\wnmp\RunHiddenConsole.exe D:/wnmp/php-7.2./php-cgi.exe -b 127.0.0.1: -c "D:/wnmp/php-7.2.5/php.ini"
echo Starting nginx...
D:\wnmp\RunHiddenConsole.exe D:/wnmp/nginx-1.14./nginx.exe -p D:/wnmp/nginx-1.14.0
echo Starging mysql...
net start mysql

2. 在 wnmp 文件夹下,新建一个 stop.bat 文件,编辑该文件,内容如:

@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
echo Stopping mysql...
net stop mysql

以后就可以进入 wnmp 文件夹下,双击 start.bat 启动 nginx,php-cgi服务或者双击 stop.bat 文件,停止nginx,php-cgi,mysql服务

参考:

  1. windows+nginx+php运行环境部署 在安装完nginx,php-cgi之后,访问 phpinfo.php过程中,出现

    // :: [error] #: * upstream timed out (: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond) while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /phpinfo.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost"

    核对 php.ini 的配置是否正确;以上错误是我自己的电脑安装了pptv软件导致 9000端口占用的问题,已通过当前随笔 参考的第5点解决

  2. Windows下Nginx/Php/MySQL环境配置  安装过程中大多数按照该文进行操作
  3. Windows下Nginx的启动、停止等命令  学习到 nginx 的一些常用命令
  4. win10 tomcat nginx upstream timed out 10060  解决在cmd中 ping localhost, 返回的是 [::1],不是127.0.0.1 的问题
  5. Windows下端口占用查看  解决win10安装了pptv软件,因pptv桌面版占用 9000端口,导致 php-cgi 绑定的 9000端口,nginx 无法连接到 php-cgi的9000端口
  6. windows系统mysql-5.7.19官方绿色版zip包安装教程 mysql 安装参考1,教程和截图比较详细
  7. Mysql-5.7.20-winx64绿色版安装步骤 mysql 安装参考2

win 10安装Nginx,php,mysql 小计的更多相关文章

  1. win 10 安装 mysql解压版 步骤

    参考资料:win 10 安装 mysql 5.7 网址:http://blog.sina.com.cn/s/blog_5f39af320102wbk0.html 本文参考上面的网址的教程,感谢作者分享 ...

  2. Linux 环境下安装 Nginx+php+mysql 开发环境

    一直以来都没有养成记录学习的好习惯,我想从这么一天开始,把自己学习和工作中的经验和坑都记录下来.等到以后老的时候还有可以回忆的地方. 最近在学习linux,虽然已经玩linux很久了,但是没有怎么用心 ...

  3. Linux--YUM 安装 nginx php mysql

    Linux--YUM 安装 nginx php mysql (2011-11-13 11:27:14) 转载▼ 标签: 杂谈 分类: Linux 1.先新建一个 repo # vi /etc/yum. ...

  4. Win 10安装11g 客户端条件检查失败,INS-30131 无法从节点 "desktop-njm3a7m" 检索 exectask 的版本

    Win 10安装11g 客户端条件检查失败,[INS-30131] 执行安装程序验证所需的初始设置失败.无法从节点 "desktop-njm3a7m" 检索 exectask 的版 ...

  5. ubuntu12.04 安装nginx+php+mysql (lnmp)的web服务器环境

    1.Ubuntu12.04 安装nginx+php+mysql (lnmp)的web服务器环境 http://blog.db89.org/ubuntu12-04-install-nginx-php-m ...

  6. 今天用pro安装nginx+php+mysql出现故障的解决方法

    今天用pro安装nginx+php+mysql出现故障的解决方法 by 伍雪颖 dyld: Library not loaded: @@HOMEBREW_CELLAR@@/openssl/1.0.1h ...

  7. ubuntu 14.04安装nginx+php+mysql

    前段时间的折腾,颇费一番周折,过程中发现网上的许多资料比较老旧过时了,所以在这里也简单把过程重新整理一遍,争取一帖解决问题. 基于最新的Ubuntu 14.04(2014年9月)搭建nginx.php ...

  8. Mac OS使用brew安装Nginx、MySQL、PHP-FPM的LAMP开发环境

    准备工作 新版的 Mac OS 内置了Apache 和 PHP,我的系统版本是OS X 10.9.3,可以通过以下命令查看Apache和PHP的版本号: httpd -v Server version ...

  9. mac下安装nginx+php+mysql+xdebug

    一,安装homebrew 就像linux下面有yum一样,mac也有个homebrew,管理软件非常便捷. 官网:http://brew.sh/index_zh-cn.html 上面有句命令,复制下来 ...

随机推荐

  1. js 事件驱动原理

    还记得当初学JAVA-GUI编程时学习过事件监听机制,此时再学习JavaScript中的事件驱动机制,不免简单.当初学习时也是画过原理图,所以从原理图开始吧! js是采用事件驱动(event-driv ...

  2. Java High Level REST Client 中文API(仅供参考)

    1.初始化 兼容性 Java High Level REST Client需要Java 1.8,并依赖于Elasticsearch核心项目,客户端版本与客户端开发的Elasticsearch版本相同, ...

  3. 【牛客网多校第一场】A

    题目链接:https://www.nowcoder.com/acm/contest/139/A 题意:大概就是给你0,1,2让你填矩阵问有多少种填法满足 a(i,j)<=a(i+1,j)以及a( ...

  4. 搭建jeecg-boot项目运行

    实验版本: 2.0.2(发布日期:20190708) 项目地址:https://github.com/zhangdaiscott/jeecg-boot 说明文档:http://jeecg-boot.m ...

  5. Photoshop基础照片美化

    自从有了“ps”以后,很多事情变成了可能,你可以出现在任何你想在的地方.而最基本的美化照片的功能,我想是很多同学学习PS的初衷.当你掌握了这门技术,很多人会对你刮目相看!今天小编就和大家分享一下ps的 ...

  6. Two-phase Termination 把玩具收拾好再去睡觉。

    字面翻译是“两阶段终止”,这个模式用来进行结束操作后,再终止线程.比如我们想停止一个线程,但是让他停止之前必须要做一些清理工作,这时候就需要用到two-phase termination模式. pub ...

  7. java——有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

    package java_day10; /* * 有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? */ public class Demo04 { public stat ...

  8. iOS开发系列-应用程序之间跳转

    概述 常见的涉及到应用程序之间的跳转场景,比如社交分享.支付宝.微信支付.链接跳转到应用. 在iOS中应用跳转的本质:打开一个应用只需要拿到对应应用的URL即可. 统一资源定位符 URL(统一资源定位 ...

  9. thinkphp一键清除缓存的方法

    后台控制器: <?php namespace Home\Controller; use Think\Controller; class HuancuController extends Cont ...

  10. System.Drawing.Image.cs

    ylbtech-System.Drawing.Image.cs 1.程序集 System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyTok ...