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

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正常工作。
。
(2)进入C:\wnmp\nginx\conf文件夹内,记事本或写字板打开nginx的配置文件nginx.conf
找到如下两处进行修改,修改内容如下
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服务启动成功

(5)编写启动脚本 start.bat (其实到上步为止,已经配置完成,但是为了以后便于启动各种服务,特此编写一个启动脚本。)
新建文本文档,重命名为start.bat
用记事本打开后,做如下编辑:
(如果所以文件目录与本教程所述完全一致,则此脚本可以直接使用,如果有区别,则需要对NGINX_DIR和PHP_DIR做相应修改后使用)
@echo off
rem the use of bat echo ==================begin======================== cls
SET NGINX_PATH=C:
SET NGINX_DIR=C:\wnmp\nginx\
SET PHP_DIR=C:\wnmp\php\
color 0a
TITLE Nginx Manager CLS ECHO.
ECHO. * * Nginx Manage App *
ECHO. :MENU ECHO. * nginx process list *
tasklist|findstr /i "nginx.exe" ECHO.
ECHO. [] start Nginx
ECHO. [] stop Nginx
ECHO. [] restart Nginx
ECHO. [] exit
ECHO. ECHO.Please input the number:
set /p ID=
IF "%id%"=="" GOTO start
IF "%id%"=="" GOTO stop
IF "%id%"=="" GOTO restart
IF "%id%"=="" EXIT
PAUSE :start
call :startNginx
call :startPhpFastCGI
GOTO MENU :stop
call :shutdownNginx
GOTO MENU :restart
call :shutdownNginx
call :startNginx
GOTO MENU :shutdownNginx
ECHO.
ECHO.Stop Nginx......
taskkill /F /IM nginx.exe > 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: -c php.ini
)
ECHO.OK
goto :eof
(6)测试成功
在C:\wnmp下新建www文件夹,在www文件夹下新建php文件 index.php,并做如下编辑
如下mysqli_connect()代码部分需要 做相应更改。
<html>
<head>
<title>test mysql+php+nginx</title>
</head>
<body>
<?php
$link = mysqli_connect("localhost","root","root");
if($link){
echo "db connect success!";
}else{
echo "db connect failed!";
}
?>
<br>
<?php phpinfo();?>
</body>
</html>
双击上述 start.bat脚本文件,键盘输入 1后按下回车键
如下图所示,则表示nginx-php启动成功

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

至此,WNMP配置成功!
下一篇文章会是 如何在nginx上配置Virtual Hosts 和Openssl的设定。
这是小弟首次发帖,如果有不足之处还请指正,欢迎评论交流。
参考链接:http://jingyan.baidu.com/article/636f38bb408ee4d6b84610b9.html
windows7配置Nginx+php+mysql教程的更多相关文章
- windows7配置Nginx+php+mysql的详细教程
windows7配置Nginx+php+mysql的详细教程 作者:Vincent.李 字体:[增加 减小] 类型:转载 时间:2016-09-04我要评论 这篇文章主要介绍了windows7配置Ng ...
- windows7配置Nginx+php+mysql的详细操作是怎样?
1.准备安装包等 (1)nginx-1.10.1.zip,下载链接为http://nginx.org/en/download.html .我个人选择了稳定版. (2)php-5.6.25-nts-Wi ...
- [原创]Centos7 从零配置Nginx+PHP+MySql
序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...
- virtualBox安装centos7并配置nginx php mysql运行环境
virtualBox安装centos7并配置nginx php mysql运行环境 一:virtualBox安装centos7并进行基础设置 1.下载dvd.iso安装文件,下载地址:https:// ...
- Cubieboard A10 安装Nand系统,配置nginx,php,mysql,samba详细教程
安装前置条件 1.下载win32diskimager-v0.7-binary.zip 2.下载debian_wheezy_armhf_v1_mele.zip 3.下载cubie_nand_uboot_ ...
- 在ubuntu上配置nginx+php+mysql+phpmyadmin
1.先更新ubuntu系统 更新命令 sudo apt-get update sudo apt-get upgrade 2 添加ubuntu nginx更新源镜像 cd /etc/apt/ sudo ...
- docker完整配置nginx+php+mysql
首先了解一个方法: 使用docker exec进入Docker容器 docker在1.3.X版本之后还提供了一个新的命令exec用于进入容器,这种方式相对更简单一些,下面我们来看一下该命令的使用: s ...
- CentOS6.3上安装与配置nginx+php+mysql环境
1. 目前nginx采用是源码包安装的方式(yum安装失败),下载地址:http://nginx.org/en/download.html 我这里的安装包是:nginx-1.12.0.tar.gz 2 ...
- Centos 7 手把手教你使用YUM方式安装并配置Nginx+php7-fpm+MySQL
需要准备的内容 一台纯净系统的服务器 远程连接服务器的工具 (我这里使用Xshell) 安装nginx 链接上服务器后执行 yum install nginx 这里需要输入y 后回车,开始安装ngi ...
随机推荐
- [deviceone开发]-组件功能演示示例
一.简介 这个是官方比较早期对组件功能的展示集合,因为发布的比较早,只包含了部分组件,但是常用的组件和常用的功能都包含了.初学者推荐.二.效果图 三.相关下载 https://github.com/d ...
- iOS UISearchController的使用
在iOS9中,UISearchDisplayController 已经被UISearchController替代.搜索框是一种常用的控件. 假设我们要满足下图的需求,产生100个“数字+三个随机字母” ...
- ERP入门
为什么想起写这个题目哪?其实这个问题很久就想写了,记得2005年时候,公司新招的二位刚毕业的大学生,一个专业是经济管理,一个是会计,东北大区培训后公司让我选择了一位带一带,我选择了一个会计专业的(因为 ...
- Windows TCP连接数限制解决
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "M ...
- android 很详细的序列化过程Parcelable
直接上代码:注释都写的很清楚了. public class Entry implements Parcelable{ public int userID; public String username ...
- iOS 学习 - 21 系统自带解析 XML
准备工作: new -> file -> other -> Empty ,在 Save As: 中随便起个名字后缀为 .xml 拷贝下面 <person> <stu ...
- .NET开源插件内核
http://www.cnblogs.com/newmin/ .NET开源插件内核:支持WinForm和Asp.net. 设计的初衷是:利用“开发平台 + 插件内核"来开发子系统,及对系统进 ...
- ORA-02292: integrity constraint (xxxx) violated - child record found
在更新表的主键字段或DELETE数据时,如果遇到ORA-02292: integrity constraint (xxxx) violated - child record found 这个是因为主外 ...
- 0026 Java学习笔记-面向对象-抽象类、接口
抽象方法与抽象类 抽象方法用abstract修饰,没有方法体部分,连花括号都不能有: 抽象方法和抽象类都用abstract修饰 包含抽象方法的类一定是抽象类:但不包含抽象方法的类也可以是抽象类 不能创 ...
- 【转】最牛B的编码套路
最近,我大量阅读了Steve Yegge的文章.其中有一篇叫“Practicing Programming”(练习编程),写成于2005年,读后令我惊讶不已: 与你所相信的恰恰相反,单纯地每天埋头于工 ...