win7 nginx mysql php_windows7配置Nginx+php+mysql的详细教程

最近在学习PHP,想把自己的学习经历记录下来,并写一些经验,仅供参考交流。此文适合那些刚刚接触PHP,想要学习并想要自己搭建Nginx+PHP+MysqL环境的同学。

当然,你也可以选择集成好的安装包,比如 wamp等,不过我推荐大家还是自己手动搭建一下环境比较好,这样能够更好的了解PHP及其运行流程。下面直接进入正题。

步骤:

1.准备安装包等

(1)Nginx-1.10.1.zip,下载链接为http://Nginx.org/en/download.html 。我个人选择了稳定版。

(2)PHP-5.6.25-nts-Win32-VC11-x86.zip或x64.zip 下载链接为http://windows.PHP.net/download#PHP-5.6,根据系统类型选择相应版本。

(3)MysqL-installer--------.msi 下载链接为http://dlsw.baidu.com/sw-search-sp/soft/ea/12585/MysqL-5.6.24-win32.1432006610.zip,由于MysqL官网需要注册,所以我直接贴了百度的地址。

2.安装MysqL服务(如果以前安装过MysqL则可以不必下载安装,在操作的时候启动MysqL服务即可。)

双击MysqL-install-------.msi安装包进入安装环境界面,选择默认选项进行安装,采用Typical(典型安装),并启动MysqL配置向导,选择默认选项配置,此处编码选择UTF-8,设置数据库密码后(一般为root),“Execute ”执行,点击“Finish”完成安装。要确保打开MysqL服务,检查是否打开服务的方法为: win+R 输入services.msc 回车,查看是否如下图所示有MysqL服务并为开始状态。

2016090409305311.jpg

3.安装Nginx-1.10.1

(1)解压Nginx-1.10.1.zip文件至C:\wnmp\Nginx,并进入该文件夹内,找到Nginx.exe,鼠标双击Nginx.exe,启动Nginx。

进入任务管理器进程选项卡,如找到Nginx.exe进程,即确认Nginx已启动。

打开浏览器,在浏览器地址栏内键入:http://127.0.0.1,如看到如下图所示界面,说明Nginx正常工作。

2016090409305312.jpg

(2)进入C:\wnmp\Nginx\conf文件夹内,记事本或写字板打开Nginx的配置文件Nginx.conf

找到如下两处进行修改,修改内容如下

PHP;">

server {

listen 80;

server_name localhost;

#modify by lee 20160902 for PHP -s

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:9001;

fastcgi_index index.PHP;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

#modify by lee 20160902 for PHP -e

}

4.安装PHP-5.6.25-nts-Win32-VC11-x64/x86

(1)解压PHP-5.6.25-nts-Win32-VC11-x64/x86.zip文件到C:\wnmp\PHP。

(2)进入C:\wnmp\PHP目录内,备份PHP.ini-development一份,将PHP.ini-development重命名为PHP.ini

查找定位并修改:

; extension_dir = "ext" ,删除前面的分号并修改为:extension_dir = "C:/wnmp/PHP/ext"

;extension=PHP_gd2.dll,删除前面的分号:extension=PHP_gd2.dll

;extension=PHP_mbstring.dll,删除前面的分号:extension=PHP_mbstring.dll

;extension=PHP_MysqL.dll,删除前面的分号:extension=PHP_MysqL.dll

;extension=PHP_MysqLi.dll,删除前面的分号:extension=PHP_MysqLi.dll

;extension=PHP_pdo_MysqL.dll,删除前面的分号:extension=PHP_pdo_MysqL.dll

;cgi.force_redirect = 1,删除前面的分号:cgi.force_redirect = 1

;cgi.fix_pathinfo=1,删除前面的分号:cgi.fix_pathinfo=1

;cgi.rfc2616_headers = 0,删除前面的分号:cgi.rfc2616_headers = 1

(3)配置环境变量:

打开环境变量配置窗口,

在系统环境变量中添加 变量  变量名:PHP_HOME    变量值:C:\wnmp\PHP

在系统环境变量中添加 变量  变量名:Nginx_HOME  变量值:C:\wamp\Nginx

在path变量最后添加:%PHP_HOME%;%Nginx_HOME%;  (注意添加分号)

(4)启动php-cgi 服务:

win+R 输入cmd回车,进入命令提示符界面,进入C:\wnmp\PHP>,

使用命令 php-cgi.exe -b 127.0.0.1:9001 -c PHP.ini

重新打开一个新的命令提示符界面,

输入命令: netstat -ano|findstr "9001"会出现 9001端口号占用情况

再次输入命令: tasklist|findstr "2892" (注:2892为上一个命令执行完毕后,最后一列显示的进程号)

如下图所示:表示 php-cgi服务启动成功

2016090409305313.jpg

(5)编写启动脚本 start.bat (其实到上步为止,已经配置完成,但是为了以后便于启动各种服务,特此编写一个启动脚本。)

新建文本文档,重命名为start.bat

用记事本打开后,做如下编辑:

(如果所以文件目录与本教程所述完全一致,则此脚本可以直接使用,如果有区别,则需要对Nginx_DIR和PHP_DIR做相应修改后使用)

nul

ECHO.Stopping PHP FastCGI......

ECHO.OK,Stop all Nginx process and PHP fastcgi

goto :eof

:startNginx

ECHO.

ECHO.Start Nginx......

IF NOT EXIST "%Nginx_DIR%Nginx.exe" ECHO "%Nginx_DIR%Nginx.exe" is not exists

%Nginx_PATH%

cd "%Nginx_DIR%"

IF EXIST "%Nginx_DIR%Nginx.exe" (

echo "start '' Nginx.exe"

start "" Nginx.exe

)

ECHO.OK

goto :eof

:startPHPFastCGI

ECHO.

ECHO.Start PHP FastCGI......

IF NOT EXIST "%PHP_DIR%php-cgi.exe" ECHO "%PHP_DIR%php-cgi.exe" is not exists

%Nginx_PATH%

cd "%PHP_DIR%"

IF EXIST "%PHP_DIR%php-cgi.exe" (

echo "start '' php-cgi.exe"

start /b php-cgi.exe -b 127.0.0.1:9001 -c PHP.ini

)

ECHO.OK

goto :eof

(6)测试成功

在C:\wnmp下新建www文件夹,在www文件夹下新建PHP文件 index.PHP,并做如下编辑

如下MysqLi_connect()代码部分需要 做相应更改。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/417866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我的虚拟化设想(My virtualization vision)

王洪岐(Wang Hongqi) 当前的服务器虚拟化技术所虚拟的操作系统都是完整的操作系统,我认为这样会在一定程度上造成了资源的浪费和技术难度的增加:多个操作系统就有多个操作硬件设备的操作程序,虚拟平台要在操作系统底层…

Kmplayer播放器 绿色免安装版 2016 中文版

软件名称: Kmplayer播放器 绿色免安装版 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win 32位/64位 软件大小: 42.8MB 图片预览: 软件简介: Kmplayer播放器绿色免安装版,多功能的影音播放…

什么是反向代理,如何区别反向与正向代理

转自:http://blog.csdn.NET/shixing_11/article/details/7106241 一直对反射代理的反向不知道如何理解,经过百度知道,再结合下面这幅图,总算弄清楚一点了。简单的说从一个局域网出来到服务端为正向,从客户端要进入一个…

java socket 浏览器_Socket实现Java和浏览器交互。

昨天写了段小程序,现贴出来看看。以下是socket的简单介绍。获取两台联通的机器之间的IP和端口号等信息。import java.io.IOException;import java.net.Socket;public class SockerDemo {public static void main(String[] args) throws IOException {Socket socket …

HashMap和ConcurrentHashMap的区别,HashMap的底层源码。

Hashmap本质是数组加链表。根据key取得hash值,然后计算出数组下标,如果多个key对应到同一个下标,就用链表串起来,新插入的在前面。 ConcurrentHashMap:在hashMap的基础上,ConcurrentHashMap将数据分为多个s…

[水煮 ASP.NET Web API2 方法论](1-1)在MVC 应用程序中添加 ASP.NET Web API

问题 怎么样将 Asp.Net Web Api 加入到现有的 Asp.Net MVC 项目中 解决方案 在 Visual Studio 2012 中就已经把 Asp.Net Web Api 自动地整合到了 MVC 项目模板中。自 Visual Studio 2013 以后,创建 ASP.Net Web应用程序使用的是一种新的"One ASP.NET"项目…

java io流文件损坏_java使用io流下载.docx. xlsx文件,出现文件损坏提示

介绍在使用io流下载服务器上的资源文件时,出现以下提示:但是选择“是”后文件可以正常打开参考 代码如下:[codesyntax lang"java"]RequestMapping(value "downLoadInstruction")public void downLoadInstruction(HttpSe…

java 内存堆和栈_java堆内存和栈内存的处理

前段时间学习二叉树在处理删除操作的时候遇到一个头疼的问题:删除节点的时候明明已经置null了可树上该节点依旧存在,还必须执行node.father.left null;才可以删除node节点,寻找了一下原因发现还是因为对java内存管理理解不够深入。代码如下&…

python基础(十三)

项目实战:运维堡垒机开发 前景介绍 到目前为止,很多公司对堡垒机依然不太感冒,其实是没有充分认识到堡垒机的IT管理中的重要作用的,很多人觉得,堡垒机就是跳板机,其实这个认识是不全面的,跳板功…

java面向_java是面向什么的语言?

Java是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,…

java流的应用_Java中I/O流的应用

Java中I/O流的应用iLeGeNDpackagecom.hp.io;/** I/O流的应用 * 实现目标: * 首先创建一个文件 * 通过键盘向文件添加内容 * 然后把文件的内容打印到控制台 * */import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import ja…

PHP的反射类ReflectionClass、ReflectionMethod使用实例

PHP5 具有完整的反射API,添加对类、接口、函数、方法和扩展进行反向工程的能力。 反射是什么? 它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。这种动态获取的信…

java 多线程跑数据_java——多线程的实现方式、三种办法解决线程赛跑、多线程数据同步(synchronized)、死锁...

多线程的实现方式:demo1、demo2demo1:继承Thread类,重写run()方法packagethread_test;public class ThreadDemo1 extendsThread {ThreadDemo1(){}ThreadDemo1(String szName){super(szName);}//重载run函数public voidrun() {for(int count …

struts2-19-合法用户上传文件

一:登录页面 成功:--->upload.jsp 失败:返回错误信息(用户名或者密码错误) 二:上传文件 登录成功:上传成功 未登录:--->login.jsp错误信息(请登录) 三…

maven项目和普通项目转换

转载于:https://www.cnblogs.com/yver/p/6054131.html

Gradle用户指南(1)-Gradle安装

前置条件 Gradle 需要 Java JDK 或者 JRE,版本是 6 及以上。Gradle 将会装载自己的 Groovy 库,因此,Groovy 不需要被安装。任何存在的 Groovy 安装都会被 Gradle 忽略。 Gradle 使用你 path 中的 JDK,或者,您可以设置 java_home 环…

第十六章:Java内存模型——Java并发编程实战

一、什么是内存模型,为什么要使用它 如果缺少同步,那么将会有许多因素使得线程无法立即甚至永远看到一个线程的操作结果 编译器把变量保存在本地寄存器而不是内存中编译器中生成的指令顺序,可以与源代码中的顺序不同处理器采用乱序或并行的方…

二进制包 mysql_二进制包安装MySQL数据库

1.1二进制包安装MySQL数据库1.1.1 安装前准备(规范)[rootMysql_server ~]# mkdir -p /home/zhurui/tools ##创建指定工具包存放路径[rootMysql_server ~]# wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.5/mysql-5.5.32-linux2.6-x86_64.tar.gz ##下载二进制包[ro…

【转】String.format详解

一、前言                            String.format 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 String.format("Hello %s", "John");,下面将笔记整理…

java提高班_2020年最新天码营-Java提高班,资源教程下载

课程名称2020年最新天码营-Java提高班,资源教程下载课程介绍初学者先广在精,关注代码背后的实现,关注内功修炼,了解实现原理和思想,形成自己完整的技术体系,知识成片之后就容易触类旁通,进步的速…