Windows下php+nginx环境搭建
场景说明:
在本地已有Apache+php环境下,为了便于学习nginx,所以在本地搭建nginx,并将项目切换到nginx环境下。所以本文就不介绍php的安装了,只介绍nginx安装以及从apache切换到nginx环境下。关于php搭建,可以参考:https://blog.csdn.net/qq_21386275/article/details/78271375
一、Nginx安装
1、下载
下载地址:http://nginx.org/en/download.html。如下图,下载稳定版本
2、解压
解压到你安装nginx的目录下,本人是解压到与apache同级目录下。解压后目录如下。
3、安装
双击nginx.exe或者命令行执行nginx,如下图:
4、验证是否安装成功
在浏览器中输入localhost,出现如下页面,表示访问成功
5、遇到的问题
① 由于本地是有apache的,所以可能会存在80端口被占用的情况(一般是apache,需要先干掉其进程)。当命令行执行出现10013错误时,说明是80端口被占用了。
解决方案1:
步骤1 netstat -aon|findstr "80" //查看占用80端口的进程
步骤2
tasklist|findstr "9924" //根据上边查出来的9924端口,查看端口对应的服务名称
步骤3
在任务管理器里边结束该进程。
解决方法2:
上述方法不行的话,直接在nginx配置中修改其监控的端口,然后重新启动。在访问路径上要加上81端口,localhost:81
二、修改nginx,php.ini配置,使本地项目在nginx环境下运行
1、修改php.ini配置
将以下配置改成如下值,并将;符号去掉。
enable_dl = On
cgi.force_redirect = 0
cgi.fix_pathinfo=1
fastcgi.impersonate = 1
cgi.rfc2616_headers = 1
extension_dir = "./ext"
,然后在cmd中执行如下指令:
php-cgi.exe -b 127.0.0.1:9000 -c D:\IdeMix442_jcp\php-5.5.27-Win32-VC11-x64\php.ini//后边路径切换成你本地php.ini文件路径
2,修改nginx.conf配置
主要是修改大概第35行的server配置,如下,其他未修改的配置未列出
server {
listen 80;
server_name benxiaohai.ren; #本地访问项目的域名
location / {
root D:/benxiaohai/Source;#项目的地址
index index.html index.htm index.php;
autoindex on; #开启网站目录文件列表功能,访问目录时列出其中的文件列表,默认不开启
}
location ~ \.php$ {
root D:/benxiaohai/Source;#项目的地址
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#$document_root是root的值
include fastcgi_params;
}
}
3、添加hosts配置
127.0.0.1 benxiaohai.ren
4、然后你会在任务管理器中看到如下进程:
5、访问本地项目:benxiaohai.ren
注意事项:在nginx.conf配置中的项目地址,不要使用“\”,容易出错(日志报The system cannot find the file specified),要是用“/”,因为“\”可能会被转义,例如转义成换行等。
三、nginx虚拟主机配置
按照步骤二中修改nginx.conf配置,复制一份server配置,然后添加你的hosts
server{
...
}
server{
...
}
127.0.0.1 你的域名 #例如127.0.0.1 benxiaohai.ren