nginx windows usage(原创翻译)

 

nginx windows usage(翻译)

英文地址:http://nginx.org/en/docs/windows.html

译者博客:http://blog.csdn.net/kimsoft

2010/12/23

 

       nginx/Windows版使用原生Win32API(非Cygwin模拟层)。目前只有select方法被用作通知方法,因此你不应对其高性能和可扩展性要求太高。正因为如此和一些已知的问题,nginx/Windows版被认为是beta版。和Unix版相比,除了XSLT过滤器,图片过滤器,GeoIP模块和内置的Perl语言之外,拥有几乎全部的功能。

 

       要安装nginx/Windows版,你应该下载最新的0.9.3开发版压缩包,由于这个开发分支包含了所有已经知问题的修复,特别是和Windows相关的问题。解压缩这个文件,转到nginx-0.9.3目录,运行nginx。对于C盘作为根目录,这儿有个例子:

cd c:/

unzipnginx-0.9.3.zip

cdnginx-0.9.3

start nginx

 

你可以运行“tasklist”命令行工具来查看nginx进程:

C:/nginx-0.9.3>tasklist /fi "imagename eq nginx.exe"
 
Image Name           PID Session Name     Session#    Mem Usage
=============== ======== ============== ========== 
nginx.exe            652 Console                 0      2 780 K
nginx.exe           1332 Console                 0      3 112 K

 

其中一个进程是主进程,另外一个是工作进程。如果nginx没有启动,你应该查看“logs/error.log”来查找原因。如果这个日志文件没有被创建,错误原因应该已经在Windows 事件日志中被报告。如果你看到一个错误页面而不是期望的页面,你也应该要到“logs/error.log”文件中寻找错误原因。

 

       nginx/Windows版在配置中使用被运行的前缀目录作为相对目录,在上面的例子中,前缀目录是“C:/nginx-0.9.3/”。配置文件中的路径应该被设置成使用斜杠的Unix样式:

       access_log   logs/site.log;

root         C:/web/html;

 

       nginx/Windows版作为一个标准的控制台程序运行,而不是服务,可以使用下列的命令管理:

       nginx -s stop         快速退出

nginx -squit          优雅退出

nginx -sreload      改变配置,启动一个新的工作进程,优雅退出老的进程

nginx -sreopen     重新打开日志文件

已知的问题

l   尽管可以运行多个工作进程,但只有一个真正起作用。

l   一个工作进程处理不超过1024个并发连接。

l   缓存和其它需要共享内存支持的模块在Windows Vista及其以后的版本中不起作用,因为在这些Windows版本中的地址空间布局随机被启用。

 

以后可能的增强

l   作为服务运行。

l   使用I/O完成端口作为通知方法。

l   使用多工作线程取代单工作进程。

 

译者补充:

nginxUnix Like的系统中优势很大,建议生产环境部署在Unix Like系统上

Windows下劣势,上文已经描述,此处总结:

n   select模型效率不高(Linux下可用epoll等高效模型)

n   1个工作进程的限制,Unix Like系统中可启用多个

n   并发连接限制在1024 以下

n   缓存和共享内存的问题

n   缺失的模块和功能(译文第一段,XSLT过滤器,图片过滤器,GeoIP模块和内置的Perl语言)

n   不能作为服务运行(网上已经有解决办法,但还是不方便)

n   日志分割(UnixLike系统中的logrotate很容易解决),Windows下可以下方法:

写个批处理,网上已有,但要停止nginx,用计划任务运行

批处理不好写,可用python写个小脚本,用计划任务运行

配置access_logoff关掉日志

 

Windows命令行使用参考:

nginx:nginx version: nginx/0.9.3

nginx:Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]

 

Options:

  -?,-h                   :this help(注意和普通的dos命令帮助的/?是不一样的,Unix风格)

  -v                      :show version and exit

  -V                      :show version and configure options then exit

  -t                       :test configuration and exit(测试配置文件,好用)

  -q                      :suppress non-error messages during configuration testing

  -s signal             :send signal to a master process: stop, quit, reopen, reload(上面译文已述)

  -p prefix             :set prefix path (default: NONE)

  -c filename         :set configuration file (default: conf/nginx.conf)(改变配置文件,感觉用处不大)

  -g directives      : set global directives out of configuration file

 

nginx相关资源:

官方网站:      http://nginx.org/

中文Wiki     http://wiki.nginx.org/Chs

张晏的blog  http://blog.s135.com/post/366/

 

 


 

文档下载地址:http://download.csdn.net/source/2933573

 

电信直接下载:http://dl5.csdn.net/fd.php?i=784829335739562&s=f206d056ba5cef299ce41f0cb94938f6

网通直接下载:http://dl5.csdn.net/fd.php?i=566429335739788&s=7c96dfd6c5f559f1bb12a162c9d6ac69

你可能感兴趣的:(nginx,windows,unix,signal,工作,xslt)