nginx windows usage(原创翻译)

阅读更多

nginx windows usage(翻译)

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

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

2010/12/23

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

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

cd c:\

unzip nginx-0.9.3.zip

cd nginx-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 2780 K
nginx.exe 1332 Console 0 3112 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 -s quit 优雅退出

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

nginx -s reopen 重新打开日志文件

已知的问题

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 日志分割(Unix Like系统中的logrotate很容易解决),Windows下可以下方法:

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

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

u 配置access_log off关掉日志

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

你可能感兴趣的:(Windows,nginx,Unix,配置管理,C#)