nginx for Windows

长孙文栋
2023-12-01

nginx for Windows

无论是测试还是干嘛,windows上使用nginx就是这么的简单,再也没有畏惧心理了。

Known issues

Possible future enhancements

Version of nginx for Windows uses the native Win32 API (not the Cygwin emulation layer). Only theselect() connection processing method is currently used, so high performance and scalability should not be expected. Due to this and some other known issues version of nginx for Windows is considered to be abeta version. At this time, it provides almost the same functionality as a UNIX version of nginx except for XSLT filter, image filter, GeoIP module, and embedded Perl language.

To install nginx/Windows, downloadthe latest mainline version distribution (1.7.8), since the mainline branch of nginx contains all known fixes. Then unpack the distribution, go to the nginx-1.7.8 directory, and runnginx. Here is an example for the drive C: root directory:

cd c:\
unzip nginx-1.7.8.zip
cd nginx-1.7.8
start nginx

Run the tasklist command-line utility to see nginx processes:

C:\nginx-1.7.8>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

One of the processes is the master process and another is the worker process. If nginx does not start, look for the reason in the error log filelogs\error.log. If the log file has not been created, the reason for this should be reported in the Windows Event Log. If an error page is displayed instead of the expected page, also look for the reason in thelogs\error.log file.

nginx/Windows uses the directory where it has been run as the prefix for relative paths in the configuration. In the example above, the prefix isC:\nginx-1.7.8\. Paths in a configuration file must be specified in UNIX-style using forward slashes:

access_log   logs/site.log;
root         C:/web/html;

nginx/Windows runs as a standard console application (not a service), and it can be managed using the following commands:

nginx -s stopfast shutdown
nginx -s quitgraceful shutdown
nginx -s reloadchanging configuration, starting new worker processes with a new configuration, graceful shutdown of old worker processes
nginx -s reopenre-opening log files

Known issues

  • Although several workers can be started, only one of them actually does any work.
  • A worker can handle no more than 1024 simultaneous connections.
  • The cache and other modules which require shared memory support do not work on Windows Vista and later versions due to address space layout randomization being enabled in these Windows versions.

Possible future enhancements

  • Running as a service.
  • Using the I/O completion ports as a connection processing method.
  • Using multiple worker threads inside a single worker process.
 类似资料:

相关阅读

相关文章

相关问答