仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 624|回复: 8
打印 上一主题 下一主题

[其他Linux] 来谈谈:Windows下Nginx + PHP5 的安装与设置办法

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:06:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
对于开发环境的选择尽量要轻量级和高度可定制,航空母舰级别的工具往往会让你迷惑不解;
安装PHP5
起首,从http://www.php.net/downloads.php下载最新的PHP5.3Windows版本,解压至C:php5,把紧缩包中的php.ini-recommended,改名为php.ini,然后翻开修正几个选项:

.代码以下:

error_reporting=E_ALL
display_errors=On
extension_dir="C:php5ext"

;静态扩大,能够依据必要往失落extension后面的正文;
;如加载PDO,MySQL
extension=php_pdo.dll
extension=php_pdo_mysql.dll

;CGI设置
cgi.fix_pathinfo=1



PHP加载扩大必要注重依附性,好比php_exif.dll必要php_mbstring.dll,你必需要把php_mbstring.dll放在php_exif.dll后面才干加载乐成。有些扩大依附分外的dll文件,如PHP5.0+,php_mysqli.dll依附libmysql.dll,而php_oci8.dll,你则必要安装Oracle8的客户端。假如你对这些依附性不是太懂得,能够参考一下安装包中的install.txt文件。

依附文件的搜刮按次:起首是php.exe地点的目次,假如是ISAPI形式,那末会搜刮WebServer的启动地位,好比Apache的bin目次;其次是WindowsPATH情况变量中的目次。这里不要复制任何文件到Windows目次中,有需要的话,能够把C:php5加到PATH中,便于今后PHP的晋级。

安装Nginx
从v0.7.52入手下手,Nginx入手下手公布Windows版本的Nginx,你能够在其官方网站下面下载:
http://nginx.net

假如必要老版本的NginxforWindows,能够在KevinWorthington的网站下面找找。

我利用的是0.8.29,下载好今后,解压开释文件到C:
ginx。

那末怎样设置Nginx,使其能够和PHP协同事情?
设置PHPFastCGI
Nginx必要和FastCGIServer共同才干处置哀求,有两种体例运转PHPFastCGIServer,一种就是利用PHP内置的FastCGI办理器:

C:/php5/php-cgi.exe-b127.0.0.1:9000-cC:/php5/php.ini

别的一种体例是利用第三方工具,好比PHP-FPM、cgi-fcgi等。明显!要在Windows中利用这些工具是件极为疾苦的事变,你大概必要Cygwin之类的器材才行,切实其实有人这么做了,固然我以为那是自寻懊恼。

下一步,修正Nginx,将php哀求转发至PHPFastCGIServer:

.代码以下:

#passthePHPscriptstoFastCGIserverlisteningon127.0.0.1:9000
location~^(.+.php)(.*)${
rootD:/public_html;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includephp.conf;
}


root也就是$document_root指的是你的phpscripts根目次,设置为你的网站根目次。在Windows下,必要注重的是root的路径,最好利用"/"作为路径分开符,而不是Windows默许的"",不然简单出成绩,好比,这个路径:D:public_html        est,就不会起感化,Nginx会抛出500毛病,缘故原由是        est中        被剖析为制表符。固然再加上一个反斜杠本义也是能够的,如:D:public_html        est。

php.conf设置文件:
.代码以下:

#毗连到本机9000端口,这里的端口是指PHPFastCGIServer开启的端口,
#请与php-cgi.exe开启的端口坚持分歧
#当Nginx收到php文件的哀求时,会主动转发到PHPFastCGIServer
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;

#Nginx默许是不撑持CGIPATH_INFO,SCRIPT_NAME的值也不尺度(糅合了PATH_INFO)
#上面的两行指令,能够从SCRIPT_NAME中剥离出PATH_INFO
fastcgi_split_path_info^(.+.php)(.*)$;
fastcgi_paramPATH_INFO$fastcgi_path_info;

includefastcgi_params;


创立一个自力的php.conf保留设置,地道是为了精简nginx.conf,团体习气罢了,也能够全体写在主设置文件中。

修正php.ini,设置cgi.fix_pathinfo=1,这十分主要,PHP会修改SCRIPT_FILENAME为实在的文件地点,不然PHP将没法找到必要处置的php文件。

一些其他的设置,主服务器:

.代码以下:

#默许开启的历程数
worker_processes1;

error_loglogs/error.log;
#error_loglogs/error.lognotice;
#error_loglogs/error.loginfo;

#pidlogs/nginx.pid;

events{
#一个历程所处置的最年夜毗连数下限,
#当地开辟,不必要默许的1024,这里改成64
worker_connections64;
}


当某个目次上面不存在默许index.phpindex.html等首页文件时,Nginx会抛出403ERROR,假如你必要排列此目次,则能够在http{…}中到场以下命令:
.代码以下:

autoindexon;
autoindex_exact_sizeon;
autoindex_localtimeon;


OK,整合到一同
创立start_nginx.bat,用于同时启动PHPFastCGI和Nginx:
.代码以下:

@echooff
REMWindows下有效
REMsetPHP_FCGI_CHILDREN=5

REM每一个历程处置的最年夜哀求数,或设置为Windows情况变量
setPHP_FCGI_MAX_REQUESTS=1000

echoStartingPHPFastCGI...
RunHiddenConsoleC:/php5/php-cgi.exe-b127.0.0.1:9000-cC:/php5/php.ini

echoStartingnginx...
C:/nginx/nginx.exe


RunHiddenConsole.exe是一个用来埋没DOS窗口的小程序,能够在这里下载。
start_nginx.bat开启后,也会有DOS窗口,可是能够平安的关失落,其实不会封闭Nginx和php-cgi.exe。

一样stop_nginx.bat,用来封闭:

.代码以下:

@echooff
echoStoppingnginx...
taskkill/F/IMnginx.exe>nul
echoStoppingPHPFastCGI...
taskkill/F/IMphp-cgi.exe>nul
exit


到这里基础设置终了了。
有些人号称用过十几种甚至几十种linux,向人谈论起来头头是到,好像懂的很多。
沙发
发表于 2015-1-18 11:03:47 | 只看该作者
现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。
小妖女 该用户已被删除
板凳
发表于 2015-1-22 07:26:38 | 只看该作者
学习Linux,应该怎样学,主要学些什么,一位Linux热心学习者,一段学习Linux的风云经验,历时十二个小时的思考总结,近十位网络Linux学习者权威肯定,为您学习Linux指明方向。
小女巫 该用户已被删除
地板
发表于 2015-1-30 23:44:55 | 只看该作者
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
若相依 该用户已被删除
5#
发表于 2015-2-6 17:10:13 | 只看该作者
即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。
老尸 该用户已被删除
6#
发表于 2015-2-17 13:55:40 | 只看该作者
放手去搞。尽量不要提问,运用搜索找答案,或者看wiki,从原理上理解操作系统的本质,而不是满足于使用几个技巧。尽量看英文资料。
兰色精灵 该用户已被删除
7#
发表于 2015-3-5 19:57:46 | 只看该作者
工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多。
柔情似水 该用户已被删除
8#
发表于 2015-3-12 14:34:36 | 只看该作者
学习Linux系统在服务中的配置方法及使用方法。Linux在服务器中应用相当广,应对常用的apache,samba,ftp等服务器基本配置清楚了解。[重点,应巩固学习]
爱飞 该用户已被删除
9#
发表于 2015-3-19 23:03:30 | 只看该作者
如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-14 14:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表