- 浏览: 634778 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (314)
- 生活 (2)
- c# (37)
- 技术 (3)
- 400电话 (0)
- 400常见问题 (0)
- 400资费 (0)
- html (7)
- css (0)
- 数据库 (7)
- javascript (16)
- php (33)
- asp.net mvc2 (10)
- mysql (9)
- C# 3.0 LinQ (10)
- vs2005或vs2008 (4)
- flash and as3 (7)
- fms (1)
- dedeCMS (11)
- java (33)
- j2me (1)
- swing (1)
- c++ (1)
- jquery easyui (3)
- jquery (5)
- android (29)
- MongoDB (9)
- VtigerCRM (1)
- test (0)
- linux (30)
- nutch (2)
- SqlServer数据库 (2)
- 数据检索 (2)
- java抓取 (11)
- 乐天 (1)
- 淘宝 (1)
- Silverlight4.0 (6)
- sphinx实时索引 (5)
- ecshop (9)
- codeigniter(CI) (3)
- axure6 (1)
- 京东店铺装修教程 (2)
- xpath (1)
- joomla (2)
- bpm (1)
- Bootstrap (2)
- knockout (4)
- ecstore (4)
- css3 (1)
- 微信 (2)
- dede (0)
- soa_edi (1)
- odoo (0)
- web (1)
最新评论
-
骑着蜗牛超F1:
在ie6下报了个stack overflow at line ...
兼容ie6和ie7 的16进制码流在html中显示为图片代码(base64) -
冰之海洋:
好像少了一句代码吧? FloatingFunc.show(th ...
android 一直在最前面的浮动窗口效果 -
yanzhoupuzhang:
连接有问题!
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000) -
whatable:
唉,楼主你都没有搞清楚重量级和轻量级。。。。既然引用了SWT, ...
java swing 内置浏览器打开网页显示flash图表-swt Browser应用 -
yy_owen:
我晕啊,你链接的什么内容额,我要的iis,你链接个视频什么意思 ...
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000)
传说中nginx要比apache的负载均衡好的多,堪称神器 。 奈何,本人一直对新鲜事物不感冒。不过服务器上面有很多都是用nginx来做http服务器,今天偷闲了解一下。上网上搜了一下,大多数都是介绍 linux下的nginx与php的配置。本人现在在windows下面想尝试一下,发现资料并不多,且并不是很准确。其间也遇到了很多问题,还好折腾了 几次总算搞定了。下面说一下windows下面nginx和php的配置,不对的地方大家多担待。
准备资源:
原来我在用APM,很好用,集成了Apache,PHP和MySQL。这次把它关掉需要重新下载这三个文件。资源一定要准备好,不然玩不转啊。呵呵。
Nginx 下载地址:http://sysoev.ru/nginx/nginx-0.8.16.zip
PHP 下载地址:http://cn.php.net/distributions/php-5.2.11-Win32.zip
MySQL 下载地址:http://download.mysql.cn/download_file/zip/5.0/mysql-5.0.22-win32.zip
配置PHP:
把下载完的php解压到:D:\php,随便你找个地方,自己喜欢就好。备份php.ini-recommended,并将其重命名为php.ini。然后编辑php.ini。
基本上和使用apache一样,php的配置文件改动的地方并不是很多,像打开扩展文件之类的就不详谈了,有几个重点需要大家注意一下:
指定docroot——php文件的存放目录,即你的documentroot。doc_root = “e:\www”
扩展存放目录 extension_dir——更改为真实的扩展存放地址。extension_dir = “./ext”
默认时区更改——在[Date]里面增加:date.timezone = Asia/ChongQing
因为nginx需要的是cgi方式的php,所以如下几个地方是重点,否则nginx无法打开php文件 :
enable_dl = On
cgi.force_redirect = 0
cgi.fix_pathinfo=1
fastcgi.impersonate = 1
cgi.rfc2616_headers = 1
如果你使用MySQL,那么和我一样拷贝php5ts.dll和libmysql.dll(开启MYSQL)至C:\WINDOWS\system32下面。并且拷贝php.ini至C:\WINDOWS目录下。
配置Nginx:
将下载下来的nginx解压到D:\nginx目录中。很明显conf目录里存放的应该是配置文件,那么还说啥?过去更改nginx.conf文件是必须的。
不看不知道,一看还真是挺开心的,这配置文件很清楚,很简单。最起码比apache要简单的多。让人看着发自内心的欣喜。具体配置如下:
打开错误日志:error_log logs/error.log;
更改线程数,因为是本地开发使用,所以线程不开太多了:worker_connections 64;
更改默认文件编码:charset gbk;
具体配置还有一些,但是不适合在这里给出,稍候我给出我的配置文件全文及截图描述 。大家详细看一下即可。
启动Nginx和PHP:
启动Nginx很简单,使用nginx目录下面的nginx.exe双击即可 。可是php的启动因为要使用cgi方式,所以有些特殊。我参照网上的方法下载了RunHiddenConsole.exe ,使用该工具用其执行的cmd窗口会自动关闭,否则你看一个CMD窗口一直在那晃来晃去,头会晕的。
创建start_php.bat,来启动php,文件内容如下:
echo Starting PHP FastCGI...
RunHiddenConsole.exe d:\php\php-cgi.exe -b 127.0.0.1:9000 -c d:\php\php.ini
创建stop_nginx.bat,来关闭php和nginx进程,文件内容如下:(http://www.my400800.cn )
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
效果图:
因为我用的就是默认的80端口,所以直接访问localhost即可。下面给出两个截图。
配置文件图解:
这里的图就是随便截了一下,文字也没有标红,列位对付着看吧。自己乱写的,把没用的地方都去掉了(不是没用,是我没有更改和扩展这些配置)。
nginx配置文件:
php.ini就不给出来了,一会儿给一下下载地址得了,那玩意太长了。只放出nginx的配置文件得了,列位莫怪。
#user nobody; worker_processes 1; error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 64; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80; server_name localhost; charset gbk; #access_log logs/host.access.log main; location / { root "C:\Program Files\VertrigoServ\www"; index index.html index.htm index.php; autoindex on; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # 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; #} location ~ \.php$ { root "C:\Program Files\VertrigoServ\www"; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443; # server_name localhost; # ssl on; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_timeout 5m; # ssl_protocols SSLv2 SSLv3 TLSv1; # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
压力测试:
下面是用100个并发连接分别去压生产环境中同一负载均衡器VIP下、提供相同服务的两台服务器,一台为Nginx,另一台为Apache,Nginx每秒处理的请求数是Apache的两倍多,Nginx服务器的系统负载、CPU使用率远低于Apache:
你可以将连接数开到10000~30000,去压Nginx和Apache上的phpinfo.php,这是用浏览器访问Nginx上的phpinfo.php一切正常,而访问Apache服务器的phpinfo.php,则是该页无法显示。4G内存的服务器,即使再优化,Apache也很难在“webbench -c 30000 -t 60 http://xxx.xxx.xxx.xxx/phpinfo.php”的压力情况下正常访问,而调整参数优化后的Nginx可以。
webbench 下载地址:http://blog.s135.com/post/288/
注意:webbench 做压力测试时,该软件自身也会消耗CPU和内存资源,为了测试准确,请将 webbench 安装在别的服务器上。
3种WEB服务器的比较:
server |
Apache |
Nginx |
Lighttpd |
Proxy 代理 |
非常好 |
非常好 |
一般 |
Rewriter |
好 |
非常好 |
一般 |
Fcgi |
不好 |
好 |
非常好 |
热部署 |
不支持 |
支持 |
不支持 |
系统压力比较 |
很大 |
很小 |
比较小 |
稳定性 |
好 |
非常好 |
不好 |
安全性 |
好 |
一般 |
一般 |
技术支持 |
非常好 |
很少 |
一般 |
静态文件处理 |
一般 |
非常好 |
好 |
Vhosts 虚拟主机 |
支持 |
不支持 |
支持 |
反向代理 |
一般 |
非常好 |
一般 |
Session sticky |
支持 |
不支持 |
不支持 |
注:在相对 比较 大的网站,节约下来的服务器成本无疑是客观的。而有些小型网站往往服务器不多,如果采用 Apache 这类传统 Web 服务器,似乎也还能撑过去。但有其很明显的弊端: Apache 在处理流量爆发的时候 ( 比如爬虫或者是 Digg 效应 ) 很容易过载,这样的情况下采用 Nginx 最为合适。
建议方案:
Apache 后台服务器(主要处理 php 及一些功能请求 如:中文 url )
Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求)
Lighttpd 图片服务器
总体来说,随着 nginx 功能得完善将使他成为今后 web server 得主流。
性能测试:
将分别测试 3 种软件在对动态页面和静态页面请求及并发时的响应时间
l 静态页面 搜狐首页
LIGHTTPD
n/-c(ab 参数) |
cpu% |
Mem |
RequestsperSecond |
Time taken for tests |
100000/100 |
64 |
60 |
462.75 |
21.6 |
100000/200 |
67 |
60 |
312.07 |
32.4 |
100000/500 |
83 |
60 |
137.24 |
72.8 |
100000/1000 出现错误丢包 |
94 |
60 |
126.6 |
78.9 |
NGINX
n/-c(ab 参数) |
cpu% |
Mem |
RequestsperSecond |
Time taken for tests |
100000/100 |
34.6 |
140 |
943.66 |
10.597 |
100000/200 |
35.6 |
110 |
924.32 |
10.818 |
100000/500 |
34.3 |
110 |
912.68 |
10.956 |
100000/1000 |
37 |
160 |
832.59 |
12.106 |
APACHE
n/-c(ab 参数) |
cpu% |
Mem |
RequestsperSecond |
Time taken for tests |
100000/100 |
40.6 |
170 |
690.72 |
14.47 |
100000/200 |
41.1 |
180 |
685.39 |
14.59 |
100000/500 |
42.3 |
190 |
633.64 |
15.78 |
100000/1000 |
43.1 |
200 |
547.53 |
18.26 |
l 动态页面 内部社区首页
LIGHTTPD
n/-c(ab 参数) |
cpu% |
Mem |
RequestsperSecond |
Time taken for tests |
1000/100 |
50 |
200 |
33.54 |
29.816 |
1000/200 |
52 |
210 |
30.43 |
32.858 |
1000/500 |
54 |
230 |
25.79 |
38.76 |
1000/1000 |
62 |
250 |
24.83 |
40.28 |
NGINX
n/-c(ab 参数) |
cpu% |
Mem |
RequestsperSecond |
Time taken for tests |
1000/100 |
53.8 |
250 |
83.12 |
12.305 |
1000/200 |
55.8 |
250 |
74.05 |
13.504 |
1000/500 |
56 |
260 |
58.99 |
16.951 |
1000/1000 |
58 |
260 |
43.41 |
23.347 |
APACHE
n/-c(ab 参数) |
cpu% |
Mem |
RequestsperSecond |
Time taken for tests |
100000/100 |
60 |
200 |
27.37 |
36.541 |
100000/200 |
61 |
220 |
23.82 |
41.981 |
100000/500 |
73 |
150 |
20.59 |
48.562 |
100000/1000 |
53 |
200 |
27.18 |
36.796 |
l PHPINFO 函数页
LIGHTTPD
n/-c(ab 参数) |
cpu% |
Mem |
RequestsperSecond |
Time taken for tests |
100000/100 |
45 |
20 |
168.06 |
59.504 |
100000/200 |
47 |
22 |
140.64 |
71.103 |
100000/500 |
49 |
24 |
52.80 |
189.386 |
100000/1000 |
在请求到4840时测试测试程序死掉 |
NGINX
n/-c(ab 参数) |
cpu% |
Mem |
RequestsperSecond |
Time taken for tests |
100000/100 |
70 |
120 |
143.46 |
69.706 |
100000/200 |
72 |
130 |
140.57 |
71.140 |
100000/500 |
73 |
150 |
135.87 |
73.601 |
100000/1000 |
77 |
160 |
132.18 |
75.657 |
APACHE 出现丢包
n/-c(ab 参数) |
cpu% |
Mem |
RequestsperSecond |
Time taken for tests |
100000/100 |
70 |
180 |
245.73 |
40.694 |
100000/200 |
72 |
190 |
245.79 |
40.684 |
100000/500 |
75 |
200 |
241.29 |
41.443 |
100000/1000 |
77 |
220 |
236.74 |
42.239 |
各大网站 WEB 服务器资源列表
网站名 操作系统 web 服务器
1. 门户网站类:
搜狐 LINUX apache 1.3.37
新浪 LINUX apache 2.0.54
迅雷 LINUX nginx 0.6.31
163 LINUX apache 2.2.6
2. 搜索类
百度 unknown BWS 1.0
Google linux gws
Sougou FreeBSD apache 2.2.4
Hao123 linux apache 2.2.4
4. 电子邮箱类
126 linux apache
Hotmail win2003 microsoft-IIS 6.0
新浪邮箱 F5 Big-IP apache 2.2.8
263 linux apache 2.2.6
5. 博客类
新浪博客 linux nginx 0.5.35
搜狐博客 linux nginx
迅雷博客 linux nginx 0.6.32
天涯博客 F5 Big-IP Microsoft-IIS/5.0
6 .视频类
优酷 linux apache
土豆 linux apache
Ku6 linux apache
六间房 linux nginx 0.6.14
发表评论
-
phpredis 安装
2015-12-16 16:47 577phpredis是个人觉得最好的一个php-redis客户端, ... -
Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
2015-08-26 10:04 683一、问题: 数据库表数据 ... -
Ubuntu14.04安装 php及mysql
2015-08-18 11:17 1065①安装php: sudo apt-get install ... -
PHP swfupload图片文件上传实例代码
2015-05-18 11:34 696swfupload是一个flash插件它可以结合php来快 ... -
php 如何开启com组件?
2013-05-08 13:04 2185先到PHP.INI中打开COM选项,com.allow_d ... -
教大家如何利用PHP去修改word的内容
2013-05-02 09:24 1910今天给大家带来一个教程,教大家如何利用PHP去修改wo ... -
20130324
2013-03-24 22:36 0203 -
PHP检测函数所在的文件名
2013-01-20 12:56 971很简单的功能,用到PHP中的反射机制,具体使用的是Refl ... -
php 下载文件,中文乱码问题
2012-11-24 16:07 1245通过把Content-Type设置为application/o ... -
CKEditor图片上传功能开启方法
2012-03-15 17:12 1765PHP怎么给ckeditor编辑器加上传图片的功能? A ... -
不错的威盾PHP加密专家解密算法
2012-02-21 16:29 1196<?php <?php /********* ... -
在php中使用CKEDITOR在线编辑器
2012-01-30 16:55 2959一、官方Download 1、CKEditor ... -
c#连接mysql中文乱码解决方案(MySql.Data.dll)
2012-01-11 10:22 4622今天用C#类连接mysql数据库出现中文乱码具体解决方案如下: ... -
开源VtigerCRM的安装
2011-10-14 15:14 3522SugarCRM是一个好东西,04年刚刚发布 ... -
MongoDB的group分组操作
2011-09-15 15:11 2071先插入测试数据: for(var i=1; i<20; ... -
用php实现mongoDB的基本操作
2011-09-15 15:07 1300说到php连mongoDB,不得不先介绍一下php的官方手 ... -
用 nuSOAP解决传递对象数组的问题
2011-08-25 15:48 1508准备工作 首先定义一个类UserInfo:class ... -
PHP SOAP服务器端 C#客户端
2011-08-24 17:22 1326最近写了个PHP的SOAP服务器 端,实现了PHP客户端的调 ... -
php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!
2011-08-17 16:59 1972php如何将图片gif,jpg或mysql longblob或 ... -
php的date()函数详细介绍
2011-08-04 16:46 7751,年-月-日 echo date('Y-m ...
相关推荐
以下是对"windows下 php+nginx配置详解"的详细说明。 首先,我们需要安装Nginx。Nginx是一款高性能的HTTP和反向代理服务器,以其稳定性和高并发处理能力著称。下载适用于Windows的Nginx安装包,然后按照安装向导...
在IT行业中,Windows环境下配置Nginx与PHP的组合是一个常见的任务,这主要涉及Web服务器的搭建和PHP处理引擎的集成。Nginx以其高性能、轻量级的特性被广泛用于前端服务器,而PHP则是一种广泛应用的开源脚本语言,...
Windows+Nginx+PHP7安装配置 在本文中,我们将详细介绍如何在Windows环境下安装和配置Nginx和PHP7,从而实现一个完美的PHP开发环境。本文将从头到尾详细介绍安装和配置的每一个步骤,使您能够快速解决问题,并少走...
windows下配置nginx+php环境
在Windows环境下配置Nginx以支持多个PHP版本是一项高级且实用的技能,尤其对于需要同时维护不同项目或网站,而这些项目或网站依赖于不同PHP版本的开发人员来说尤为重要。以下是从给定文件中提取并扩展的相关知识点:...
### Windows Server 2012 R2 下配置 PHP7 + Nginx1.1 环境 在本文中,我们将详细介绍如何在 Windows Server 2012 R2 操作系统上配置 PHP7 和 Nginx1.1 的运行环境。这种组合常用于搭建高效的 Web 应用程序服务器,...
刚看到nginx这个词,我很好奇它的读法(engine x),我的直译是”...那么上正题了,nginx有这么多优势,那在windows下如何来配置nginx+php环境?网上看到还是那么多转载来转载去的文章。这里就我配置的过程,来介绍一下
nginx 1.13.9 配置了php, 包含nginx的启动,关闭,重载的bat文件和php的启动,重新加载的bat,vbs文件。php进程用的端口号是9900.默认php7的安装是c:\php7.要修改php_start.vbs中php的路径。 createobject("wscript....
3. Nginx的配置文件详解 3.1. Nginx的主配置文件概述 3.1.1. 认识配置文件 3.1.2. nginx的配置文件结构 3.1.3. nginx的全局配置 3.2. events配置 3.3. http的配置 3.4. nginx重要指令之location 4. nginx中的...
nginx多域名配置示例 php多级域名配置 二级域名配置示例 nginx伪静态示例
windows 版的nginx1.15+php7.2 nginx 目录下集成了winsw-1.9-bin.exe ,这个软件可以很方便的将nginx安装成windows服务以便使用,可根据需要修改winsw-1.9-bin.xml 用时nginx 配置文件要检查一下,或重新下载一个新的...
你将学习如何配置Nginx处理静态文件、动态内容(如PHP或Java应用)的代理,以及URL重写规则,以实现高效的路由。此外,本章还会关注性能优化,如缓存策略、连接超时设置和并发连接限制。同时,也会讲解如何利用负载...
这里我们关注的是在Windows操作系统上配置一个结合了Nginx和PHP的服务器环境。这个“windows+nginx+php带启动/停止脚本”的压缩包提供了方便的工具来帮助你快速设置和管理这样的环境。 **Nginx** Nginx是一款高性能...
windows 下nginx和php 安装配置,可以学习安装步骤和配置信息
在Windows环境下搭建PHP7、Nginx和FastCGI服务器是一项常见的任务,尤其对于开发者来说,这能够让他们在本地环境中快速测试PHP应用。下面将详细解释这个过程中的关键知识点。 首先,**PHP7**是PHP...
nginx for windows下载以及详细安装与配置 1.目前官方 Nginx 并不支持Windows,您只能在包括Linux,UNIX,BSD系统下安装和使用,现在提供nginx for windows下载以及详细安装与配置,供windows下的nginx应用。 2.Nginx ...
本文指导您如何在 Windows 平台下安装 Nginx 服务器,并进行基本的配置。Nginx是一个功能强大且流行的 Web 服务器软件,广泛应用于生产环境中。通过本文,您可以快速安装和配置 Nginx 服务器,以满足您的需求。
在Windows环境下搭建PHP开发环境,通常会选择集成的服务器软件,如XAMPP或者WAMP,但若希望更灵活地配置和优化,单独安装Nginx、PHP(Non Thread Safe,即NTS版本)以及FastCGI是更好的选择。这篇博客()提供了一个...
`nginx+php配置.docx`文件可能包含了更详细的步骤和注意事项,建议参考该文档以确保配置过程的顺利完成。记住,配置过程可能会因不同的操作系统和软件版本略有不同,所以遇到问题时,查阅官方文档或在线社区是很有...
在Windows环境下,为了高效地管理和运行Nginx与PHP-CGI服务,我们可以创建批处理脚本来实现一键启动。下面将详细介绍如何配置和使用批处理文件来启动这两个关键组件。 首先,Nginx是一款轻量级的Web服务器,常用于...