nginx下载的是1.20.2打开解压后的目录conf,编辑nginx.conf配置,使其支持php,下面我们就来说一说关于nginx访问php需要模块么?我们一起去了解并探讨一下这个问题吧!
nginx访问php需要模块么
nginx下载的是1.20.2
打开解压后的目录conf,编辑nginx.conf配置,使其支持php。
第一步:
找到
server {
listen 80;
server_name localhost;
默认80端口,如果别的网站使用了80端口,这里要修改
第二步:
location / {
root html;
index index.html index.htm;
}
这里是网站所在目录,默认首页.
- root 填写网站所在目录填写物理路径,例如:E:\test;
- index 后边填写 index.php;
第三步:
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
- 去掉注释#;
- root 后边html修改为网站所在物理路径;
- 127.0.0.1:9000; 端口不一定是9000 ,可以是其他未使用的端口,默认就好;
- fastcgi_param 后边修改为SCRIPT_FILENAME $document_root$fastcgi_script_name;
第四步:
启动nginx,关闭nginx,重启nginx;
可以进入cmd执行,但是每次修改都要填写命令,比较麻烦,这里使用RunHiddenConsole。网上搜索RunHiddenConsole下载放入nginx目录。
启动(start.bat):
@echo off
echo Starting Nginx...
cd E:\nginx
start nginx
echo Starting PHP FastCGI...
cd E:\php-8.0.11
E:\nginx\RunHiddenConsole.exe E:\php-8.0.11\php-cgi.exe -b 127.0.0.1:9000 -c E:\php-8.0.11\php.ini
如果RunHiddenConsole没有加入环境变量,要填写物理路径,可以简单理解为关联php,使用哪个版本php去执行程序,我这里使用的php8。
停止(stop.bat):
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
重启(reload.bat)
@echo off
echo reload Nginx...
cd E:\nginx
nginx -s reload
可能会遇到的错误:
配置了index.php,浏览的时候直接提示下载
解决:启动的时候关联了php,E:\nginx\RunHiddenConsole.exe E:\php-8.0.11\php-cgi.exe -b 127.0.0.1:9000 -c E:\php-8.0.11\php.ini
,