win 10安装Nginx,php小计
一直没有尝试Nginx作为Web服务器,时常用的是apache,在Ubuntu下,输入一些安装命令就可以把LAMP环境比较轻松的搭建起来。
系统: windows 10 NT ,Nginx-1.14.0,PHP 7.2.5
在 nginx 下载 windows版本的压缩包,如: ,在 PHP 官网 下载,再 点击页面的 Windows downloads,就是进入下载适合运行在windows下的PHP软件包。
我个人习惯软件安装在D盘,在D盘新建一个 wnmp 文件夹,将下载好的 Nginx 压缩包,放入 wnmp 文件夹内,解压缩之后,Nginx的路径就是 D:\wnmp\nginx-1.14.0
将下载好的PHP压缩包解压到 wnmp文件夹下,文件夹重命名为 php-7.2.5 ,PHP的路径就是: D:\wnmp\php-7.2.5
再在wnmp文件夹下,新建一个 htdocs 文件夹,准备作为nginx的 root目录,路径是: D:\wnmp\htdocs
进入php(就是刚才已重命名的php-7.2.5,后面将一直用 php文件夹 来代替说明)文件夹内, 复制一份 php.ini-development 文件之后,将复制之后的文件重命名为 php.ini,编辑 php.ini 文件
1. 查找 extension_dir,
; extension_dir = "ext" #ext扩张文件夹目录
去掉前面的”;”号,修改之后,如
extension_dir = "D:\wnmp\php-7.2.5\ext"
2. 查找 cgi.fix_pathinfo
;cgi.fix_pathinfo=1 #Php的CGI的设置
去掉前面的”;”号,修改之后,如
cgi.fix_pathinfo=1
3. 其它配置
找到:;date.timezone = ,先去前面的分号再改为 date.timezone = Asia/Shanghai
找到:enable_dl = Off 改为 enable_dl = On
找到:;cgi.force_redirect = 1 先去前面的分号再改为 cgi.force_redirect = 0
找到:;fastcgi.impersonate = 1 去掉前面的分号
找到:;cgi.rfc2616_headers = 0 先去前面的分号再改为 cgi.rfc2616_headers = 1
4. nginx的配置
进入 nginx的文件夹内,进入conf文件夹,使用编辑器打开 nginx.conf 配置文件,
找到:location /,
location / {
root html;#可修改,默认是nginx目录下的html文件夹(指向站点的根目录)
index index.html index.htm;
}
在上面的 index 的最后面添加 index.php,修改之后如:
location / { root D:/wnmp/htdocs; index index.html index.htm index.php; fastcgi_read_timeout 600; #配置读取cgi超时时间 }
再找到 location ~ \.php$ ,大概在 64~65行,
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
去掉的”#”号,将root 指向站点根目录。再把 /scripts 替换为 documentroot,” role=”presentation”>documentroot,documentroot,document_root 是指前面”root”所指的站点根目录,修改之后的效果如:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root D:/wnmp/htdocs; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
二 启动服务
1. 启动 php cgi服务
D:\wnmp\php-7.2.5\php-cgi.exe -b 127.0.0.1:9000 -c "D:\wnmp\php-7.2.5\php.ini"
2. 启动 nginx服务,进入 nginx 目录,输入start nginx.exe 就启动了,dos 命令如:
D: cd wnmp cd nginx-1.14.0 start nginx.exe
3. 在nginx root目录下,新建一个 phpinfo.php 文件,编辑该文件,内容是:
<?php
phpinfo(); # 输出php信息
4. 使用浏览器访问 : http://localhost/phpinfo.php ,将会显示 php 信息,如:
三 建立 bat 文件
因为手动分别启动 php-cgi,nginx有点麻烦,所以通过bat 进行启动,
1. 先下载 RunHiddenConsole.zip ,将解压出来的 RunHiddenConsole.exe 文件放入到 wnmp 目录下,新建一个 start.bat 文件,编辑该文件,内容如:
@echo off echo Starting PHP FastCGI... D:\wnmp\RunHiddenConsole.exe D:/wnmp/php-7.2.5/php-cgi.exe -b 127.0.0.1:9000 -c "D:/wnmp/php-7.2.5/php.ini" echo Starting nginx... D:\wnmp\RunHiddenConsole.exe D:/wnmp/nginx-1.14.0/nginx.exe -p D:/wnmp/nginx-1.14.0
2. 在 wnmp 文件夹下,新建一个 stop.bat 文件,编辑该文件,内容如:
@echo off echo Stopping nginx... taskkill /F /IM nginx.exe > nul echo Stopping PHP FastCGI... taskkill /F /IM php-cgi.exe > nul
以后就可以进入 wnmp 文件夹下,双击 start.bat 启动 nginx,php-cgi服务或者双击 stop.bat 文件,停止nginx,php-cgi服务