windows7 nginx php mysql_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服务并为开始状态。

24461f3e52e1bf6e341f1ac89e7485d1.png

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正常工作。

9b6bce15e2cadce12a22316055d61897.png

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

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

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服务启动成功

bea864e6ee8dc319430596ca35bfb735.png

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

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

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

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

(6)测试成功

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

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

双击上述 start.bat脚本文件,键盘输入 1后按下回车键

如下图所示,则表示nginx-php启动成功

bb2a82409c6b290ee15fca2444049c16.png

打开浏览器,在浏览器地址栏内键入:http://127.0.0.1,如看到如下图所示界面,说明wnmp配置成功。

3b2503b44b1308808bd644a5bdd14da3.png

至此,WNMP配置成功!

以上所述是小编给大家介绍的windows7配置Nginx+php+mysql的详细教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

原文链接:http://www.cnblogs.com/vincent-li666/archive/2016/09/03/5836784.html

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

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

相关文章

基于C#的计时管理器

问题我们使用各种系统时候会遇到以下问题:12306上购买火车票如果15分钟内未完成支付则订单自动取消。会议场馆预定座位,如果10分钟内未完成支付则预定自动取消。在指定时间之后,我需要执行一项任务。我之前做的很多系统,往往都是定…

C语言之malloc和free总结

1、内存分配和函数介绍 内存分配:指在程序执行的过程空间中或者回收存储空间 ,内存分配分为静态内存分配和动态内存分配 ,要实现动态内存分配,就需要有执行这个操作的对象。C语言提供的两个标准库函数:malloc和free。 1)malloc函数 原型:void *malloc(size_t size)…

哈希表(hashtable)的javascript简单实现

javascript中没有像c#,java那样的哈希表(hashtable)的实现。在js中,object属性的实现就是hash表,因此只要在object上封装点方法,简单的使用obejct管理属性的方法就可以实现简单高效的hashtable。 首先简单的介绍关于属性的一些方法: 属性的枚举: for/in循环是遍历对…

HDU 2516 (Fabonacci Nim) 取石子游戏

这道题的结论就是,石子的个数为斐波那契数列某一项的时候,先手必败;否则,先手必胜。 结论很简单,但是证明却不是特别容易。找了好几篇博客,发现不一样的也就两篇,但是这两篇给的证明感觉证得不清…

access的ole对象换成mysql_ACCESS的Ole对象读取写入

Ole对象在Access中存储为二进制文件,读取的时候需要注意转换出的文件的编码格式1OleDbConnection OleConnnewOleDbConnection();2OleConn.ConnectionString"ProviderMicrosoft.Jet.OleDb.4.0;data sourceD:\WorkStation\Dialy_Sol\Dialy\Dialy.mdb";3OleD…

C++之delete常见错误总结

1、动态分配内存后释放了一次,再次释放 1)直接删除2次 int main() {int *a = new int(50);cout<<*a<<endl;delete a;delete a;return 0; } 2)另外一个指针指向分配的内存,然后把这个2个指针都删除 int* p1 = new int(50); int* p2 = p1; //p2和p1 现在指向同一…

ABP vNext微服务架构详细教程——分布式权限框架(上)

1简介ABP vNext框架本身提供了一套权限框架&#xff0c;其功能非常丰富&#xff0c;具体可参考官方文档&#xff1a;https://docs.abp.io/en/abp/latest/Authorization但是我们使用时会发现&#xff0c;对于正常的单体应用&#xff0c;ABP vNext框架提供的权限系统没有问题&…

前端每隔几秒发送一个请求

2019独角兽企业重金招聘Python工程师标准>>> <html><head><SCRIPT LANGUAGE"JavaScript"> var timer;//声明一个定时器 var count 0; function test() { //每隔500毫秒执行一次add()方法 timer window.setInterval("add()"…

Android之走手机流量让电脑能上网几种方法

1、通过“USB共享网络"来使电脑上网 1)我是vivo手机&#xff0c;把手机插上电脑,打开usb调试&#xff0c;然后正常连接电脑 2&#xff09;在“设置”里面打开“个人热点”里面的“通过usb共享网络”开关 3&#xff09;切换网络连接&#xff0c;对比之前的没插上手机之前没…

element 表单回显验证_关于vue el-form表单报错的问题

在写el-form表单的时候&#xff0c;遇到了蛮多问题&#xff0c;在这里记录一下。1.表单验证报错[Element Warn][Form]model is required for validate to work!初始代码如下&#xff1a;<!-- 表单部分 --> <el-formref"inputForm"size"mini"inlin…

Objective-C NSSetNSMutableSet以及CountedSet

NSSet说实话,对这个类的应用,还不知道到底什么时候会用到,先过一遍脑子吧,以后有需要用到的时候,不至于陌生! #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { autoreleasepool { //创建4个NSNumber对象 NSNumber *obj1 [NSNumber number…

IOZONE测试工具使用方法(转载)

IOZONE主要用来测试操作系统文件系统性能的测试工具&#xff0c;该工具所测试的范围主要有&#xff0c;write , Re-write, Read, Re-Read, Random Read, Random Write, Random Mix, Backwards Read, Record Rewrite, Strided Read, Fwrite, Frewrite, Fread, Freread, Mmap, As…

如何通过 C# 判断某个 IP 所属的地区?

咨询区 RC1140如何通过 C# 判断某个 IP 所属的地区&#xff1f;这样我就可以方便统计。回答区 Jaimes可以借助第三方API接口&#xff0c;参考网址&#xff1a;https://ipapi.co/8.8.8.8/country/ &#xff0c; C# 代码如下&#xff1a;using System; using System.Net; using S…

4月12日 webform基本控件

服务器基本控件&#xff1a; button: text属性 linkbutton:text属性&#xff0c;它是一个超链接模样的普通button hyperlink: navigateurl:链接地址&#xff0c;相当于<a>标签 imagebutton:imageurl:指定图片路径&#xff0c;这也是一个按钮&#xff0c;执行click事件 im…

C/C++之函数返回值为指针或者是引用时常见错误总结

1、说明 函数如果是指针或则引用的返回,一般全局变量、局部静态变量、局部动态分配内存的变量可以使用作为函数的返回值,局部变量不行,因为局部变量函数调用完会自动销毁内存,这个时候返回的指针或则引用就有问题了。 2、展示代码 #include <iostream> #include <…

我做了一个 Istio Workshop,这是第一讲介绍

我是 Jimmy Song[1]&#xff0c;Tetrate 布道师&#xff0c;云原生社区创始人。你可以能想到为什么在这个时候创建一个 Istio 教程&#xff0c;因为市面上已经林林总总有不少关于 Istio 的书籍和教程了&#xff0c;但是我们都知道 Istio 是一个新兴技术&#xff0c;发展十分迅速…

Swoole入门指南:PHP7安装Swoole详细教程(一)

好久未更新了&#xff0c;不是懒呃&#xff0c;是太忙啦&#xff01;终于偷得浮生几日闲。这一段时间准备为大家带来swoole的入门教程&#xff0c;感受一下php的nodeJs强悍之处。 所有的示例代码均放在了github上&#xff1a;learn-swoole 环境 这里不在使用apache做为web serv…

mysql如何快速插入一千万条数据_如何快速安全的插入千万条数据?

最近有个需求解析一个订单文件&#xff0c;并且说明文件可达到千万条数据&#xff0c;每条数据大概在20个字段左右&#xff0c;每个字段使用逗号分隔&#xff0c;需要尽量在半小时内入库。思路1.估算文件大小因为告诉文件有千万条&#xff0c;同时每条记录大概在20个字段左右&a…

解决 同时安装 python3,python2环境时,用pip安装 python3 包

应用场景 默认mac上已经安装了 python2; 而我又安装了 python3&#xff0c;并使用 python3; 安装了 pip 默认&#xff0c;pip安装的包安装在了 python2上了&#xff1b; 但是我想用 pip把安装的包安装在 python3上 &#xff0c;所以如下解决方式&#xff1b; 1&#xff1a;在ma…

C/C++之#ifdef、#if、#if defined的区别

1、看代码 2、运行结果 3、分析 #fi&#xff1a;后面接的表达式&#xff0c;如果为1就编译包含里面的内容 #ifdef&#xff1a;后面接的是一个宏&#xff0c;只要定义这个宏就行 #if defined(x)&#xff1a;和#ifdef效果一样 #if !defined(x)&#xff1a;和#ifndef效果一样