WNMP 指“Windows 下的 Nginx、MariaDB/MySQL 和 PHP 环境”。

下载

  1. Nginx:http://nginx.org/en/download.html
  2. MariaDB:https://downloads.mariadb.org/
  3. PHP:http://windows.php.net/download
  4. RunHiddenConsole:http://redmine.lighttpd.net/attachments/660/RunHiddenConsole.zip

在 D 盘根目录下创建目录 wnmp。将 nginx-1.13.0.zipmariadb-10.1.23-winx64.msiphp-7.1.5-nts-Win32-VC14-x64.zip 放在里面。

C:\>mklink /d C:\wnmp D:\wnmp
为 C:\wnmp <<===>> D:\wnmp 创建的符号链接

现在在 C 盘根目录下的 wnmp 中操作。

PHP

php.ini-development 改为 php.ini、编辑它。

; On windows:
; extension_dir = "ext" ; 改为 ; On windows:
extension_dir = "C:/wnmp/php7.1.5/ext"
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+)
; extension folders as well as the separate PECL DLL download (PHP 5+).
; Be sure to appropriately set the extension_dir directive.
;
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_fileinfo.dll
;extension=php_ftp.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_exif.dll ; Must be after mbstring as it depends on it
;extension=php_mysqli.dll
;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll ; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=php_snmp.dll ;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite3.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll ; 改为 ; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+)
; extension folders as well as the separate PECL DLL download (PHP 5+).
; Be sure to appropriately set the extension_dir directive.
;
extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll
;extension=php_ftp.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_gmp.dll
extension=php_intl.dll
extension=php_imap.dll
;extension=php_interbase.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll ; Must be after mbstring as it depends on it
extension=php_mysqli.dll
;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll ; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=php_snmp.dll extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
;extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
;cgi.fix_pathinfo=1

; 改为

cgi.fix_pathinfo=1

Nginx

搭建不支持 PHP 的 Nginx 服务器非常简单。那就是说搭建支持 PHP 的 Nginx 服务器就会稍微麻烦些。

修改 nginx.conf

location / {
root html;
index index.html index.htm;
} # 改为 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 html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#} # 改为 # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9002
#
location ~ \.php$ {
root C:/wnmp/www;
fastcgi_pass 127.0.0.1:9002;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

$document_root 就是 C:/wnmp/www

启动

手工启动

启动 php-cgi.exe,监听 9002 端口。

C:\wnmp\php7.1.5>php-cgi.exe -b 127.0.0.1:9002 -c C:/wnmp/php7.1.5/php.ini

另开一个 CMD,启动 Nginx。

start nginx

后台启动

把下载好的 RunHiddenConsole.zip 包解压到 php 目录内,RunHiddenConsole.exe 的作用是在执行完命令行脚本后自动关闭脚本,而从脚本中开启的进程不被关闭。

创建启动脚本“start_nginx.bat”,内容如下。

@echo off
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5 REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000 echo Starting PHP FastCGI...
RunHiddenConsole C:/wnmp/php7.1.5/php-cgi.exe -b 127.0.0.1:9002 -c C:/wnmp/php7.1.5/php.ini echo Starting nginx...
RunHiddenConsole C:/wnmp/nginx1.13.0/nginx.exe -p C:/wnmp/nginx1.13.0

创建退出脚本“stop_nginx.bat”,内容如下。

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

以后就可以用这两个脚本开启、关闭服务了。

MariaDB

MariaDB 就是开源、无公司的 Mysql。它的安装和 MySQL 完全一样。默认服务名是 mysql,建议改为 MariaDB 以便区分。

连接 MariaDB 的方式和 MySQL,如果以前用 MySQL 现在用 MariaDB,连接信息不需要更改。

参考链接

附录

搭建不支持 PHP 的 Nginx 服务器

下载 Nginx 的 Windows 版安装文件(在此以 nginx-1.13.0 为例)。

  1. nginx-1.13.0.zip 放在 C 盘根目录下(即路径为 C:\)。
  2. nginx-1.13.0.zip 解压到当前文件夹,得到目录 C:\nginx-1.13.0
  3. cd nginx-1.13.0 然后 start nginx 就开启了服务器。
  4. 浏览器输入 http://localhost/ 看到“Welcome to nginx!”。

查看 Nginx 进程信息

tasklist /fi "imagename eq nginx.exe"

杀死 Nginx 进程

taskkill /F /IM nginx.exe > nul

启动 Nginx 服务器

start nginx

杀死 PID

# 查看占用 9002 端口的 PID
> netstat -aon|findstr 9002
TCP 127.0.0.1:9002 0.0.0.0:0 LISTENING 7732
TCP 192.168.10.119:49484 120.92.58.186:9002 CLOSE_WAIT 7640 # 杀死 pid 是 7732 的进程
taskkill /pid 7732

为 Nginx 开 Virtual Host

开放 8888 端口,根目录在 C:/wnmp/laravel/template/public

server {
listen 8888;
server_name localhost; location / {
root C:/wnmp/laravel/template/public;
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$query_string;
} location ~ \.php$ {
root C:/wnmp/laravel/template/public;
fastcgi_pass 127.0.0.1:9002;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
tags: 服务器 Nginx

Window7 下 WNMP 环境搭建的更多相关文章

  1. Solr3.6.1 在Tomcat6下的环境搭建

    Solr3.6.1 在Tomcat6下的环境搭建 Tomcat路径:D:\prg\apache-tomcat-6-solr 简写为tomcat_home Solr文件下载保存路径为:F:\softwa ...

  2. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

  3. Windows下的环境搭建Erlang

    Windows下的环境搭建 Erlang 一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二. ...

  4. RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难

    消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...

  5. 跟我一起,利用bitcms内容管理系统从0到1学习小程序开发:一、IIS下SSL环境搭建

    缘起 1.从事互联网十来年了,一直想把自己的从事开发过程遇到的问题给写出来,分享给大家.可是可是这只是个种想法,想想之后就放下了,写出来的类文章是少之又少.古人说无志之人常立志,有志之人立长志.今天, ...

  6. centos7系统下 docker 环境搭建

    运行环境: VMware Workstation Pro 在虚拟机中安装centos7系统, 选择最小安装, 网络连接方式选择的桥接(与宿主机在同一IP段)centos7一定要安装64位, docke ...

  7. eclipse工具下hadoop环境搭建

    eclipse工具下hadoop环境搭建:    window10操作系统中搭建eclipse64开发系统,配置hadoop的eclipse插件,让eclipse可以查看Hdfs中的文件内容.     ...

  8. win7下docker环境搭建nginx+php-fpm+easyswoole+lavarel+mysql开发环境

    win7环境基础在上一篇win7下docker环境搭建nginx+php-fpm+easyswoole开发环境中已经详细叙述搭建完成 本篇文章将叙述如何在上述基础上搭建laravel开发环境,这个其实 ...

  9. android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

      android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...

随机推荐

  1. Zookeeper-3.4.9 集群搭建

    这里用了三台主机,系统为CentOS7 1.修改hosts #vim /etc/hosts 172.50.0.31 node1 172.50.0.34 node2 172.50.0.37 node3 ...

  2. js正则表达test、exec和match的区别

    test的用法和exec一致,只不过返回值是 true false. 以前用js很少用到js的正则表达式,即使用到了,也是诸如邮件名称之类的判断,网上代码很多,很少有研究,拿来即用. 最近开发遇到一些 ...

  3. XJOI1680阿猫的实验

    阿猫的实验 阿猫很喜欢生物学.他还在今年的全国中学生生物学联赛中获得了一等奖.一天,阿猫在实验室听说了这样一种繁殖能力很强的老鼠.这种老鼠在出生后的第一个月,可以生出a 对老鼠:第二个月,可以生出b ...

  4. css3+js 实现砸金蛋效果

    最近闲来无事,在网上看到有人写了个砸金蛋的效果,他是没有用到css3的,当时我就感觉没什么动态效果 感觉体验不是很好,所有我就想用css3来改下,于是也来试着写写. 本来想弄个视频给你们看看效果的,但 ...

  5. 用Xamarin + VS 编写Android程序体验及其与Android Studio的比较

    昨天看了微软2016Build大会,Xamarin免费了.恩,5亿美刀的家伙,哈哈,我也要体验一下..... 1. 首先在Xamarin官网下载安向导:https://www.xamarin.com/ ...

  6. 解决eclipse中文字很小

    新下载的eclipse4.2.1版本,显示中文字体很小,但是英文比较正常.网上查看要更改字体大小,但是更改后英文也变大了,不是想要的结果. window – preferences – general ...

  7. HTML5基础学习

    分享一下html5的一些基础,小白上路! 一.html5基本结构 <!DOCTYPE html> ↑声明文档类型为HTML5文件. 文档声明,在HTML文档必不可少.且必须放在文档第一行 ...

  8. Log4j配置文件内容详解

    .Log4j的优点 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送地:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控 ...

  9. GreenDao与Rx的完美搭配

    作为Android开发者,一定不会对 GreenDao 和 ReactiveX 陌生. GreenDao   号称Android最快的关系型数据库 ReactiveX    Rx是一个编程模型,目标是 ...

  10. AOP中的ASPECTJ

    一.准备 1.架包 2.配置文件 二.注解的形式 UserDao.java package cn.itcast.spring.aspectj.annocation; public class User ...