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

Windows 下 Nginx + PHP + MySQL 开发环境安装与配置

2015-03-09 23:31 1111 查看
提到安装,首先就是软件的获取啦, 下载软件建议大家到软件的官网下载。

nginx

php

mysql

下载这些软件是时候,注意选择当前的平台, windows平台就下载windows的版本,还要注意将要安装的机器是32位还是64位,下载对应版本,除非对版本号有特殊要求,一般下载最新的稳定版本即可。

<ul>

<li><strong>NGINX</strong></li>

</ul>

安装nginx的软件包是一个zip压缩包, 下载后解压到你想要安装的目录(如C:\Apps\nginx-1.6.2),打开cmd, 切换到C:/Apps/nginx-1.6.2/目录下,运行:

<pre lang="cmd">

C:\Users\Ozone>cd C:\Apps\nginx-1.6.2

C:\Apps\nginx-1.6.2>nginx.exe

</pre>

注意: nginx.exe 运行后,应用不会退出,但可以关掉cmd窗口,nginx会在后台继续运行。打开浏览器,输入:http://localhost, 若能显示nginx的欢迎界面则运行成功。配置nginx 的配置文件路径conf/nginx.conf, 打开该文件,修改以下几处:

<pre lang="conf">

location / {

root C:/www;

index index.php index.html;

}

</pre>

<strong>root </strong>设置网站的根目录也就是站点文件的存放目录,windows 下注意路径中"\"要改为"/",结尾不用加"/"<strong>index </strong>设置当请求为目录是优先查找文件顺序如用户请求http://localhost, nginx会先查找是否存在C:/www/index.php, 如果存在,则处理index.php文件,若不存在,则查找C:/www/index.html,若也不存在,也没有设置该请求的重定向,nginx会向浏览器显示“403 Forbidden"错误。

<pre lang="conf" line="1">

location ~ \.php$ {

root C:/www;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

</pre>

去掉以上几行前的#号,打开nginx 对php的支持。其中root 要与上面设置一致fastcgi_params SCRIPT_FILENAME /script$fastcgi_script_name 这一行要修改成

<ins datetime="2014-10-19T09:47:10+00:00">fastcgi_params SCRIPT_FILENAME $document_root$fastcgi_script_name</ins>

在nginx中$document_root为指令root设置的值,也就是上面设置的C:/www,也就是说,当用户请求localhost/test.php时,nginx告诉php:你要处理的文件为C:/www/test.php。若访问时出现"No input file specified. ", 很有可能就是这里设置出现了问题。

每次修改完nginx.conf,要想使改动生效,必须让nginx重新加载nginx.conf。可以关掉nginx的进程,然后重新启动应用,也可以使用nginx命令重新加载,重新打开一个cmd,切换到nginx.exe所在的目录,执行命令:

<blockquote>nginx -s reload</blockquote>

nginx会重新加载nginx.conf。nginx的配置结束,关于nginx更加详细的配置教程, 请参考《ngingx详细配置》。此时,nginx还是无法处理php请求的,看到这一行没:fastcgi_pass 127.0.0.1:9000,nginx 会把以.php结尾的请求传送给本机(127.0.0.1)的9000端口进行处理。这就是php 要监听的端口。

<ul>

<li><strong>PHP</strong></li>

</ul>

PHP的软件包也是zip压缩包,解压到安装目录(C:\Apps\php-5.6.1),找到php.ini-development文件,改名为php.ini。打开一个cmd, 切换到C:\Apps\php-5.6.1目录下,运行命令:

<blockquote>php-cgi -b 127.0.0.1:9000</blockquote>

不要关闭这个cmd窗口,让php监听本地的9000端口。在C:\www目录下新建一个index.php文件,写入:

<pre lang="php">< ?php phpinfo();?></pre>

在浏览器中访问http://localhost,若能正常显示出PHP的版本信息,说明配置成功。php 默认是没有打开MySQL支持的。打开php.ini文件,找到

<fieldset>;extension_dir='ext'</fieldset>

把这行前面的";"注释去掉,然后找到

<fieldset>;extension=php_mysql.dll;extension=php_mysqli.dll</fieldset>

去掉前面的";"。想打开其它的扩展也是同样的操作。修改完后,重新启动php以使配置生效。

<ul>

<li><strong>MySQL</strong></li>

</ul>

对于MySQL,官方提供的是二进制安装文件。运行程序后,按照提示一步一步操作,不用自己手动设置。MySQL安装完成后,可以下载phpMyAdmin(用php语言实现的MySQL数据库管理工具), 解压到网站根目录下(如 C:/www/phpmyadmin),然后在浏览器中访问http://localhost/phpmyadmin, 输入MySQL数据库的帐号密码,如果能正常登入,则说明MySQL安装配置成功,整个nginx+php+mysql环境也配置完成了。

以上环境配置完成后,nginx 和php 由于没有安装成服务,所以开机是不会自己启动的。在Windows下,nginx无法以守护进程运行,但网上有使用第三方工具把nginx安装成服务的教程,有需要的可以自己搜索一下。我自己一般是写一个bat文件 ,每次开机手动执行一下。

<pre lang="bat">

cd C:\Apps\nginx-1.6.2

nginx.exe -c conf\nginx.conf

cd C:\Apps\php-5.6.1

php-cgi -b 127.0.0.1:9000 -c C:\Apps\php-5.6.1

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