当前位置 主页 > 服务器问题 > nginx问题汇总 >

    nginx CreateFile错误怎么办?

    栏目:nginx问题汇总 时间:2019-10-28 11:02

      1、下载:
      到官网下载nginx稳定版,解压到e盘根目录;
      到官网下载php非安装版,解压到e盘根目录。
      2、配置:
      打开nginx.conf,修改相关位置如下,
      location / {
      root html; #网站根目录
      index index.html index.htm index.php;
      autoindex on; #当网站没有默认文件时,打开域名可以看到文件目录结构
      }
      location ~ \.php$ {
      #root html;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME e:/html/$fastcgi_script_name; #php文件存放目录,测试过相对路径不行,需要绝对路径
      include fastcgi_params;
      }
      配置好后打开命令提示符,切换到e:\nginx,启动nginx命令:start nginx 。(相关介绍可到http://nginx.org/en/docs/windows.html)
      注意:当修改配置文件后,要nginx -s quit 然后 start nginx 才有配置后的效果,用 nginx -s reload 没效果。可能是windows版本的一个bug吧。
      配置php.ini,设置extension_die = "ext/",把相关用到的ext扩展dll前面的分号去掉,不然不能正常启动php-cgi.ext。
      启动php-cgi.exe;切换到e:\php,在命令提示符下输入php-cgi.exe -b 127.0.0.1:9000。
      3、测试:
      写一个打印phpinfo()的php脚本放到html目录下面,测试php程序是否能够运行。经过测试成功运行。


     
      启动与停止:
      1、启动Nginx:
      D:/nginx-1.0.4/nginx.exe -p D:/nginx-1.0.4
      2、启动PHP-CGI:
      D:/php/php-cgi.exe -b 127.0.0.1:9001 -c D:/php/php.ini
      为了方便可以写到一个批处理文件中,这里用到了一个RunHiddenConsole,可以在这里下载:
      @echo off
      REM Windows 下无效
      REM set PHP_FCGI_CHILDREN=5
      REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
      set PHP_FCGI_MAX_REQUESTS=1000
      echo Starting PHP FastCGI...
      REM RunHiddenConsole C:/php5/php-cgi.exe -b 127.0.0.1:9000 -c C:/php5/php.ini
      D:/nginx-1.0.4/RunHiddenConsole.exe D:/php/php-cgi.exe -b 127.0.0.1:9001 -c D:/php/php.ini
      echo Starting nginx...
      D:/nginx-1.0.4/RunHiddenConsole.exe D:/nginx-1.0.4/nginx.exe -p D:/nginx-1.0.4
      exit
      3、停止Nginx:
      D:/nginx-1.0.4/nginx.exe -p D:\nginx-1.0.4 -s stop
      4、停止PHP-CGI:
      taskkill /F /IM php-cgi.exe > nul
      同样可以写到一个批处理文件中:
      @echo off
      echo Stopping nginx...
      REM taskkill /F /IM nginx.exe > nul
      D:/nginx-1.0.4/nginx.exe -p D:\nginx-1.0.4 -s stop
      echo Stopping PHP FastCGI...
      taskkill /F /IM php-cgi.exe > nul
      Nginx配置的路径问题
      由于在Windows下文件路径可以用”\”, 也可以用”\\”, 也可以用”/”作为路径做分隔符。但”\”最容易引发问题,所以要尽量避免使用。
      例如下面的配置可以正常运行
      root G:\ezdemo;
      但是这样
      root G:\tweb;
      就会出现问题,访问程序时会出现500错误。