首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

WNMP装配配置

2012-12-22 
WNMP安装配置Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Ram

WNMP安装配置

Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,已经在一些俄罗斯的大型网站上运行多年,相当的稳定。

  Nginx相当的稳定、功能丰富、安装配置简单、低系统资源……

  作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。

  作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。

  作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。

  Nginx 安装非常的简单,配置文件 非常简洁(还能够支持perl语法),Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在 不间断服务的情况下进行软件版本的升级。

最近在Windows平台上安装配置了Nginx+PHP5的运行环境,非常方便,现详细介绍下Windows下Nginx配置PHP5,Nginx配置PHP是以FastCgi方式配置的。

?

下载Nginx

Nginx可以在多种操作系统上安装配置,我使用的是Windows,所以需要下载Nginx Windows版本,点击下载Nginx

安装Nginx

nginx的安装很简单:解压后双击nginx.exe后服务即启动。这时打开浏览器在地址栏里输入localhost或者127.0.0.1

如果显示:Welcome to nginx!? 表示nginx服务已启动。任务管理器能看到nginx.exe

?

安装配置PHP

我使用的是PHP5.2,你可以可以使用PHP5.3,只要PHP版本支持FastCgi方式(有php-cgi.exe)即可

配置Nginx支持运行PHP

首先需要打开C:\nginx,找到C:\nginx\conf目录下的nginx.conf,以记事本打开,

配置Nginx支持PHP第一步

修改PHP.INI配置文件中的cgi.fix_pathinfo = 1,PHP 会修正 SCRIPT_FILENAME 为真实的文件地址,否则PHP将无法找到需要处理的 PHP 文件。

设定error.log的存放目录,将

#error_log  logs/error.log; 

的#去处,默认error.log是存放在Nginx安装目录中logs目录下。

配置Nginx支持PHP第二步

设定WEB服务器目录,类似于PHP.INI配置文件中的document_root, 即修改root设置,Nginx配置文件中的原有信息如下,大概45行

location / {
root ? html;
index ?index.html index.htm;
}

修改Nginx配置如下

location / {root   D:/PHPWeb;index index.html index.htm;}

另外需将index.php 加入到index中

index  index.html index.htm index.php;

这里需要注意,路径分隔符请使用”/”而不要使用Windows中的”\”以防歧义。

配置Nginx支持PHP第三步

在Nginx配置文件中找到

#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;
#}

去处#并添加WEB目录,即

location ~ \.php$ {root           D:/PHPWeb;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  D:/PHPWeb$fastcgi_script_name;include        fastcgi_params;} 

这里需要注意,需要将

fastcgi_param ?SCRIPT_FILENAME???/scripts$fastcgi_script_name;中的/scripts修改为之前设定的WEB目录,否则会报HTTP 404错误。

其中
worker_processes 1;只默认开启一个进程
work_connections 64;测试服务器的话,一个进程允许64个最大连接数就可以了
server中listen 80

charset 服务器的字符集
location / 指定网站根目录
添加autoindex on;允许目录结构查看
在location ~ \.php$中修改nginx,将php请求转发给PHP FastCGI Server.
这里SCRIPT_FILENAME路径最好使用/,防止用\被解析为特殊字符,如\t是制表符

至此,Nginx支持运行PHP的基础配置工作就好了。

?

接下来我们需要启动PHP FastCgi和Nginx服务以便运行PHP程序,方法如下

1、其中的RunHiddenConsole.exe是隐藏命令终端用的,因为命令当服务启动后命令终端是不会隐藏的,看着很是不舒服,放在php的目录下。故将其隐藏,可首先下载RunHiddenConsole.exe

新建serverstart.bat

@echo offREM “正在启动Nginx 服务器……..”net start nginxREM “开始启动PHP FastCGI………”set PHP_FCGI_MAX_REQUESTS=1000echo Starting PHP FastCGI…RunHiddenConsole.exe D:\php5.2.13\php-cgi.exe -b 127.0.0.1:9000 -c D:\php5.2.13\php.ini

新建 serverstop.bat

@echo offecho Stopping nginx…taskkill /F /IM nginx.exe > nulecho Stopping PHP FastCGI…taskkill /F /IM php-cgi.exe > nulexit

?服务重启命令:serverrestart.bat

@echo offecho Stopping nginx.exe…taskkill /F /IM nginx.exe > nulecho Stopping PHP FastCGI…taskkill /F /IM php-cgi.exe > nulecho Start nginx…net start nginxecho Starting php-cgi…RunHiddenConsole.exe D:\PHP5.2.13\php-cgi.exe -b 127.0.0.1:9000 -c D:\PHP5.2.13\php.ini
?

测试

<html><head><title>Welcome to nginx!</title></head><body><?php$link = mysql_connect("localhost","root","123456");if($link){echo "数据库连接成功!";}else{echo "数据库连接失败!";}?></body></html>

热点排行