您的位置:首页 > 运维架构 > Nginx

伟哥教您Windows下手动搭建Laravel5.2开发环境Nginx+Php+MySQL

2016-04-18 10:34 911 查看

如何在Win10下手动搭建Nginx+Php+MySQL开发环境



如需要帮助,请加入伟哥laravel高级QQ群

小伟哥-Laravel大师之路手把手视频教程

后面我会讲解在linux下搭建基于vagrant+homestead+composer+yaml的laravel容器开发环境

安装Nginx

到Nginx官网下载最新稳定版 http://nginx.org/download/nginx-1.8.1.zip

解压到D:\Nginx下;

运行D:\Nginx\nginx.exe程序测试,打开浏览器查看http://127.0.0.1,看到下图,则Nginx成功运行。

2.安装PHP

到PHP官网下载最新的稳定版PHP http://windows.php.net/downloads/releases/php-5.6.8-Win32-VC11-x64.zip

解压到D:\PHP-TS

在系统的环境变量里添加值为D:\PHP-TS的PHP_HOME变量,并在PATH变量后面追加;%PHP_HOME%后重启计算机。

重启之后在cmd命令提示行界面输入php -v,如果出现以下信息,则表示PHP已安装成功。

配置Nginx + PHP

修改配置文件,将约第65行“# 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  $document_root$fastcgi_script_name;
include        fastcgi_params;
}


注意fastcgi_param SCRIPT_FILENAME documentrootdocument_rootfastcgi_script_name;一行的变化。

这样配置可使Nginx将PHP请求交给运行于9000端口PHP的fastcgi处理

D:/PHP-TS/php-cgi.exe -b 9000 -c D:/PHP-TS/php.ini


cd Nginx
D:/Nginx/nginx.exe -c D:/Nginx/conf/nginx.conf


在D:\Nginx\html目录新建一个info.php文件。输入以下测试内容

<?php
echo phpinfo();
?>


打开浏览器,输入http://127.0.0.1/info.php测试,如果看到以下截图,则代表已调通Nginx和PHP的运行关系



安装MySQL

到MySQL官网下载mysql-5.7.7-rc-winx64.zip,并解压到D:\MySQL。

在系统的环境变量里添加值为D:\MySQL的MySQL_HOME变量,并在PATH变量后面追加;%MySQL_HOME%\bin后重启计算机。

重启之后在cmd命令提示行界面输入mysql -v,如果出现以下信息,则表示mysql客户端已安装成功。

在D:\MySQL目录下,复制my-default.ini为my.ini,修改my.ini文件,将[mysqld]替换为一下内容

一路默认安装即可:

设置用户名root,密码root

[client]
port = 3306

[mysql]
default-character-set = utf8

[mysqld]
port = 3306
basedir = D:\MySQL
datadir = D:\MySQL\data
character_set_server = utf8


在cmd命令行中输入“D:\MySQL\bin\mysqld.exe”启动mysql server端服务。

另开一个cmd命令行,输入“mysql -uroot -proot”,密码为空,如成功登陆出现以下截图,则代表mysql本地环境已调通。



测试PHP+MySQL

在D:\PHP-TS目录下,复制php.ini-development为php.ini,修改php.ini文件:

分别将

736行 extension_dir = “ext”

890行 extension=php_mysql.dll

前的;号去掉。

在D:\Nginx\html目录新建一个mysql.php文件。输入以下测试内容

<?php
$link=mysql_connect("localhost", "root", "root");
if(!$link) echo "FAILD!";
else echo "OK!";
?>
打开浏览器,输入http://127.0.0.1/mysql.php测试,如果输出“OK”,则代表已调通PHP连接MySQL。


制作一键启动脚本和一键关闭脚本

点击这里下载

在互联网上下载RunHiddenConsole.exe文件到D:\Nginx目录。

新建start_wnmp.bat批处理文件,用于一键启动Nginx+PHP+MySQL服务。添加内容如下:

@echo off
echo Starting PHP FastCGI...
RunHiddenConsole D:/PHP-TS/php-cgi.exe -b 9000 -c D:/PHP-TS/php.ini
echo Starting Nginx...
RunHiddenConsole D:/Nginx/nginx.exe -c D:/Nginx/conf/nginx.conf
echo Starting MySQL Server...
RunHiddenConsole D:/MySQL/bin/mysqld.exe


新建stop_wnmp.bat批处理文件,用于一键关闭Nginx+PHP+MySQL服务。添加内容如下:

@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 Server...
taskkill /F /IM mysqld.exe > nul
exit


以后就可以直接双击这两个文件开启和关闭Nginx+PHP+MySQL服务,还可以手动添加快捷方式到桌面,换上自己喜欢的图标。

安装Composer

点击这里下载Composer安装

一路默认安装即可,中间会让你选择php.exe所在目录。

Composer生成laravel项目

在命令行里,切换到你要保存laravel项目的目录下:

譬如我想在D:\wwwweb\mysite 下创建一个vblog的laravel项目:

cd到 D:\wwwweb\mysite

然后执行:

composer create-project laravel/laravel vblog  "~5.2" --prefer-dist


经过“漫长的等待”后,vblog会生成在 D:\wwwweb\mysite\vblog

设置nginx conf文件

为了让nginx支持laravel的路由,必须将nginx.conf 的server段设置成如下样式:

server {
listen  80;
server_name sub.domain.com;
set $root_path 'd:/wwwweb/mysite/vblog/public';
root $root_path;

index index.php index.html index.htm;

try_files $uri $uri/ @rewrite;

location @rewrite {
rewrite ^/(.*)$ /index.php?_url=/$1;
}

location ~ \.php {

fastcgi_pass 127.0.0.1:9000;
fastcgi_index /index.php;

fastcgi_split_path_info       ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO       $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include                       fastcgi_params;
}

location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
root $root_path;
}

location ~ /\.ht {
deny all;
}
}


重启nginx

更改完配置后,必须重启nginx。

重启WNMP服务,在浏览器里http://127.0.0.1,如果看到以下图片,则表示Laravel运行环境已调通。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: