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