【nginx】Windows2008下nginx+php7的搭建

关于php的搭建,此前在《【php】本地开发环境的部署与helloworld》(https://blog.csdn.net/yongh701/article/details/41789753)和《【php】在Windows2003下配置Apache2.4与php5.4》(https://blog.csdn.net/yongh701/article/details/47080057)都有提及到。一种是傻瓜式的安装包,一种是在apache服务器上是搭建php。php也可以直接利用Windows的iis服务器进行搭建,具体见《【php】在Windows2003下的IIS配置php5.4》(https://blog.csdn.net/yongh701/article/details/47083231)。可惜这都是不太主流的php搭配方式。现在,应该说是老早之前,大部分比较专业的网站都已经用nginx去搭载php了。下面就直接用一个例子来说明如何在windows2008下用nginx去配置php。

一、nginx和php的下载

在下载nginx和php之前,先到微软的官网(https://www.microsoft.com/en-us/download/details.aspx?id=48145)将vc15安装了。要注意的是,你的电脑是32位系统还是64位系统,是哪个就安装哪个,一般情况win2008都是64位的,所以这里我下载了x64的。

下载之后,得到的vc_redist.x64.exe是一个连安装目录都不用你选,你也不应该选的一键傻瓜安装文件。php7需要vc15运行库才能运行,这也就是为何win2003、winxp只支持到php5.4的原因,因为php5.4开始就要vc9了,windows2003、xp只能支持到vc8了。

然后去下载nginx,其实nginx是个和iis、apache一样,也就tomcat那意思的玩意。我们首先要到他的官网(http://nginx.org/)下载nginx。进去之后选择download,找到windows的稳定版。下载之后得到了一个叫nginx-1.14.0.zip的东西。

之后再去php的官网(http://www.php.net/),下载最新的php7。这里是否是线程安全由于我们不是用iis版本来配php,所以没所谓。不过要注意的是,你的电脑是32位系统还是64位系统,一般情况win2008都是64位的,所以这里我下载了x64的php。下载之后得到了一个叫php-7.2.5-Win32-VC15-x64.zip的东西。

二、nginx和php的配置

1、下载之后建议新建个文件夹,这里我叫PHP,将nginx-1.14.0.zip和php-7.2.5-Win32-VC15-x64.zip分别解压到这里。再自己新建个文件夹叫WWW,这里以后将是我们存放php网站的地方。如图。

2、打开.\PHP\nginx-1.14.0\conf中的nginx.conf,这也是nginx的配置文件。修改的部分集中在第43~46行和65~71行。首先将65~71行前的#通通去掉。修改大概第44行和66行的root,修改成我们刚才新建的,将来要用来放网站的目录路径,路径记得要用双引号“”括着。这后,将第45行的index和第68行的fastcgi_index,改成index.php。第69行的fastcgi_param,改成SCRIPT_FILENAME  $document_root$fastcgi_script_name;。改完之后,保存退出。这样nginx就设置完了。

3、接下来再设置php,几乎和之前的php设置一样了。

(1)将php.ini-development复制一份并改名成php.ini。之后用记事本,最好用notepad之类的打开。

(2)搜索“extension_dir”,找到:extension_dir = "ext" 先去前面的分号再改为 extension_dir = "你的php目录\ext",我这里是extension_dir = "C:/Program Files/PHP/php-7.2.5-Win32-VC15-x64/ext"。

搜索“enable_dl”,找到:enable_dl = Off 改为 enable_dl = On

搜索“cgi.force_redirect”,将cgi.force_redirect = 1 先去前面的分号再改为 cgi.force_redirect = 0

搜索“date.timezone”,找到:;date.timezone = ,先去前面的分号再改为 date.timezone = Asia/Shanghai

搜索“fastcgi.impersonate”,找到: ;fastcgi.impersonate = 1 ,去掉前面的分号

搜索“cgi.rfc2616_headers”,找到:;cgi.rfc2616_headers = 0 ,先去前面的分号再改为 cgi.rfc2616_headers = 1

之后搜索“extension”,找到:”extension=pdo_mysql和extension=mysqli,去掉前面的分号“;”,用于支持MYSQL数据库。Mysql数据库这里我就不再赘述了,详见《【Mysql】Mysql的安装、部署与图形化》(https://blog.csdn.net/yongh701/article/details/42648763)。

至此,php的配置完毕。

在刚才我们自行创建的WWW文件夹,新建一个index.php,内容就是经典的:

<?php
	phpinfo();
?>

三、nginx和php的启动

先将system32这个文件夹加入到系统变量再说,免得一会儿有些命令提示:“不是内部命令”。具体和配java配php一样了。“计算机”右键,属性->高级系统设置->高级->环境变量,在下方的系统变量中找到Path->编辑,在原有的路径上加个分号,添加上C:\Windows\System32。一路“确定”即可。

(1)先打开php

用win+r,运行一个cmd,用cd先进入你的php目录,我这是cd C:\Program Files\PHP\php-7.2.5-Win32-VC15-x64,然后php-cgi.exe -b 127.0.0.1:9000 -c php.ini打开php,即可,如图。

(2)再打开nginx

同样是用win+r,再运行一个cmd,用cd先进入你的nginx目录,我这是cd C:\Program Files\PHP\nginx-1.14.0,然后输入nginx.exe即可,如图。

然后将这俩个cmd挂着,打开一个浏览器,输入http://localhost或者127.0.0.1,你就会见到如下的php.info页面,证明布置完成!

四、nginx和php的结束

你可以自己用记事本或者notepad什么的新建一个stop.bat,写入如下语句,运行。或者自己直接在cmd一行一行输入,则可以关闭nginx和php了。

taskkill /F /IM nginx.exe > nul 
taskkill /F /IM php-cgi.exe > nul  
exit  

注:同时参照《【nginx】windows2008下nginx的迁移、路径设置和一键启动》(https://my.oschina.net/u/3776619/blog/1805163)一文更精彩!

猜你喜欢

转载自my.oschina.net/u/3776619/blog/1803097