Ngwsx is a port of the nginx on windows platform

ngwsx is a port of
the nginx on windows platform.

The last development version is ngwsx-0.1.3, based on nginx-0.7.14.
Installation package: ngwsx-0.1.3-bin.zip, ngwsx-0.1.3-bin.rar.
Source package: ngwsx-0.1.3-src.zip, ngwsx-0.1.3-src.rar.
The sources are licensed under 2-clause BSD-like license.

Hq He wrote:

ngwsx (http://ngwsx.eaxi.com/) is a port of
the nginx on windows platform.

The last development version is ngwsx-0.1.3, based on nginx-0.7.14.
Installation package: ngwsx-0.1.3-bin.zip, ngwsx-0.1.3-bin.rar.
Source package: ngwsx-0.1.3-src.zip, ngwsx-0.1.3-src.rar.
The sources are licensed under 2-clause BSD-like license.

Installation package:
ngwsx-0.1.3-bin.zip
(http://ngwsx.eaxi.com/download/ngwsx-0.1.3-bin.zip),
ngwsx-0.1.3-bin.rar
(http://ngwsx.eaxi.com/download/ngwsx-0.1.3-bin.rar).

Source package:
ngwsx-0.1.3-src.zip
(http://ngwsx.eaxi.com/download/ngwsx-0.1.3-src.zip),
ngwsx-0.1.3-src.rar
(http://ngwsx.eaxi.com/download/ngwsx-0.1.3-src.rar).

install ngwsx as service
.\ngwsx.exe -i

uninstall ngwsx service
.\ngwsx.exe -u

start ngwsx service
.\ngwsx.exe -s

stop ngwsx service
.\ngwsx.exe -p

On Sat, Sep 06, 2008 at 10:24:30PM -0700, mike wrote:

What would be the reason for going with this instead of Kevin’s? He
builds his literally within hours of Igor’s releases…

http://www.kevinworthington.com/2008/09/01/announcing-nginx-0714-for-windows-win32/

Kevin does Cygwin build, while ngwsx is a native Win32 application.
Cygwin adds additinal overhead to Winsock.

BTW, could some one run simple benchmark for Cygwin build ?
Something like requsting empty gif on different host without keepalive
using ab ?

oh, that’s weird. his email makes it sound like native win32.

The ngwsx still has much problems.

TODO of ngwsx:
1.IO Completion Port.
2.TransmitFile and TransmitPackets.
3.AcceptEx, ConnectEx and DisconnectEx.
3.Multi-Thread.

What would be the reason for going with this instead of Kevin’s? He
builds his literally within hours of Igor’s releases…

http://www.kevinworthington.com/2008/09/01/announcing-nginx-0714-for-windows-win32/

Installing as a service is a nice built-in option though.

On Sun, Sep 07, 2008 at 10:07:39AM +0200, Hq He wrote:

The ngwsx still has much problems.

TODO of ngwsx:
1.IO Completion Port.
2.TransmitFile and TransmitPackets.
3.AcceptEx, ConnectEx and DisconnectEx.
3.Multi-Thread.

The IOCP, TransmitFile, and AcceptEx support is already in my non-public
win32 sources. The main problem actually is multi-threads support (it
affects on all nginx sources) and win32 process model - I prefer to
use master/worker model, but not a single process. Also build
configuration
is another problem.

But the biggest win32 problem is support:

  1. I do not use win32 at all, so it will be difficult for me to debug
    it.
  2. win32 has no coredump concept, this complicates debugging.
  3. I do not want to reply many stupid questions of windows users,
    many of them will not have any relation to nginx at all.

Igor S. ha scritto:

The IOCP, TransmitFile, and AcceptEx support is already in my non-public
win32 sources. The main problem actually is multi-threads support (it
affects on all nginx sources) and win32 process model - I prefer to
use master/worker model, but not a single process. Also build configuration
is another problem.

Do you know that, in theory, it is possible to implement COW fork in
Windows NT, using NT API (NtCreateProcess)?
Unfortunately this API is not public, but it is used by Microsoft to
implement their Win32, Posix and OS/2 subsystems.

But the biggest win32 problem is support:

  1. I do not use win32 at all, so it will be difficult for me to debug it.

This is easily solved if there is a separate maintainer of the win32
port.

  1. win32 has no coredump concept, this complicates debugging.
  1. I do not want to reply many stupid questions of windows users,
    many of them will not have any relation to nginx at all.

Again, this can be done by the win32 port maintainer, on a separate
mailing list.

Just my two cents.

Manlio P.

On Sun, Sep 07, 2008 at 11:00:44AM +0200, Manlio P. wrote:

The IOCP, TransmitFile, and AcceptEx support is already in my non-public
win32 sources. The main problem actually is multi-threads support (it
affects on all nginx sources) and win32 process model - I prefer to
use master/worker model, but not a single process. Also build configuration
is another problem.

Do you know that, in theory, it is possible to implement COW fork in
Windows NT, using NT API (NtCreateProcess)?
Unfortunately this API is not public, but it is used by Microsoft to
implement their Win32, Posix and OS/2 subsystems.

Yes, I know, but even usual CreateProcess allows to run master/workers,
however, all workers will process configuration by itself.

On Sun, Sep 07, 2008 at 02:10:22AM -0700, mike wrote:

On Sun, Sep 7, 2008 at 1:38 AM, Igor S. [email protected] wrote:

  1. I do not use win32 at all, so it will be difficult for me to debug it.

Please don’t waste time with a win32 port :slight_smile: Let someone else do it
(as Manlio says)

We need you to focus on the core product for 99% of the target OS :slight_smile:

Win32 port is hobby, (as well as nginx whole itself :).

On Sun, Sep 7, 2008 at 1:38 AM, Igor S. [email protected] wrote:

  1. I do not use win32 at all, so it will be difficult for me to debug it.

Please don’t waste time with a win32 port :slight_smile: Let someone else do it
(as Manlio says)

We need you to focus on the core product for 99% of the target OS :slight_smile:

Then it’s a great hobby :slight_smile:

Cheers
Mansoor

----- Original Message -----
From: “Igor S.” [email protected]
To: [email protected]
Sent: Sunday, September 7, 2008 2:42:49 PM GMT +05:30 Chennai, Kolkata,
Mumbai, New Delhi
Subject: Re: ngwsx is a port of the nginx on windows platform.

On Sun, Sep 07, 2008 at 02:10:22AM -0700, mike wrote:

On Sun, Sep 7, 2008 at 1:38 AM, Igor S. [email protected] wrote:

  1. I do not use win32 at all, so it will be difficult for me to debug it.

Please don’t waste time with a win32 port :slight_smile: Let someone else do it
(as Manlio says)

We need you to focus on the core product for 99% of the target OS :slight_smile:

Win32 port is hobby, (as well as nginx whole itself :).