今天在Windows上配置了下nginx,看了不少其他大牛们记录的博客,自己也操作了一番,记录一下备忘。

nginx download: http://nginx.org/en/download.html
php download: http://php.net/

windows下nginx+php的安装配置如下:
1、安装php(D:/php)
2、配置php.ini

    extension_dir = "./ext"; 更改为 extension_dir = "D:/php/ext";
去掉如下两句的注释符,这两句是php连接mysql的必须链接库
;extension=php_mysql.dll
;extension=php_mysqli.dll
去掉下句的注释符
;cgi.fix_pathinfo=1

3、安装nginx(D:/nginx)

4、配置nginx.conf
    打开D:/nginx/conf/nginx.conf,找到

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#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;     //该句表示站点根目录,可以更换为你想要的目录

  再把标记为红色的/scripts改为“$document_root”,这里的“$document_root”就是指前面“root”所指的站点路径,当然也可以更换为绝对路径。这是改完后的:

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

输入如下命令启动phpcgi:
    D:/php/php-cgi.exe -b 127.0.0.1:9000 -c D:/php/php.ini    
    然后启动nginx,即nginx目录下的nginx.exe。

为了方便你也可以自己写一个bat脚本来快速执行以上命令,代码如下:
    启动脚本:

    @echo off
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5 REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000 echo Starting PHP FastCGI...
RunHiddenConsole D:/xampp/php/php-cgi.exe -b 127.0.0.1:9000 -c D:/xampp/php/php.ini echo Starting nginx...
D:/nginx-1.5.5/nginx.exe

    停止脚本:

  @echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit

其中RunHiddenConsole.exe为隐藏命令提示符窗口的一个工具。以上执行以后窗口可以关闭,nginx、phpcgi服务会在后台执行。

RunHiddenConsole.exe下载地址http://pan.baidu.com/share/link?shareid=364654&uk=2819113184跟脚本放到同一个目录下

=============================

在配置的时候出现了一个问题,对于新手来说估计有写也会遇到这个问题,当然网上也有很多的答案,这里记录一下解决方案。
    问题:出现No input file specified问题
    (1) 路径不合

    root     html;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

(2)配置不当

  在php.ini(/usr/local/php/etc/php.ini)的配置中中找到
     cgi.fix_pathinfo=0; 将其改成cgi.fix_pathinfo=1

我是一个nginx菜鸟,入门都不算,如果哪位路过的大牛有好的教程或资料,望能够分享一下,3Q。[505600376@qq.com]

最新文章

  1. 魅族mx4 pro连电脑,adb无法获取devices信息解决
  2. MongoDB-常见问题
  3. [小北De编程手记] : Lesson 04 玩转 xUnit.Net 之 Fixture(下)
  4. 【日常笔记】java文件下载返回数据流形式
  5. 微信网页获取openId
  6. 关于学习Perl
  7. iOS-xib(使用XIB自定义一个UIView )
  8. [转]在SQL中用正则表达式替换html标签
  9. 手写JS无缝滚动插件
  10. Backup Exec Inventory 与Catalog的含义(转载)
  11. maven引用net.sf.json-lib
  12. JavaScript tips:数组去重
  13. 文件存储B+树
  14. Oracle插入多个值的问题
  15. java后台打开浏览器代码
  16. [Kubernetes]如何使用yaml文件使得可以向外暴露服务
  17. Bootstrap Tooltip 显示换行
  18. 使用jQuery+huandlebars循环中索引(@index)使用技巧(访问父级索引)
  19. Unity shader 官网文档全方位学习(一)
  20. ThreadLocal变量

热门文章

  1. debian修改crontab默认编辑器为vim
  2. Oracle 集合类型
  3. CSS @property - 实验性
  4. 通过一道CTF学习HTTP协议请求走私
  5. 阿里云的nginx的https配置问题
  6. 带你体验Folx的智能化下载功能
  7. FL Studio采样器设置的功能是什么
  8. Folx好用的下载功能介绍
  9. 模拟赛38 B. T形覆盖 大模拟
  10. 学习django笔记一:在urls.py中导入sign应用views文件的问题