Ruby Forum NGINX > ngwsx is a port of the nginx on windows platform.

Posted by Hq He (hqhe)
on 07.09.2008 06:31
<a href="http://ngwsx.eaxi.com/" target="_blank">ngwsx</a> 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.
Posted by Hq He (hqhe)
on 07.09.2008 06:58
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).
Posted by Hq He (hqhe)
on 07.09.2008 07:00
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
Posted by mike (Guest)
on 07.09.2008 07:33
(Received via mailing list)
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.
Posted by Igor Sysoev (Guest)
on 07.09.2008 09:37
(Received via mailing list)
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 ?
Posted by mike (Guest)
on 07.09.2008 09:54
(Received via mailing list)
oh, that's weird. his email makes it sound like native win32.
Posted by Hq He (hqhe)
on 07.09.2008 10:07
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.
Posted by Igor Sysoev (Guest)
on 07.09.2008 10:50
(Received via mailing list)
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.
Posted by Manlio Perillo (Guest)
on 07.09.2008 11:07
(Received via mailing list)
Igor Sysoev 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.

> 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.
> 

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



Just my two cents.

Manlio Perillo
Posted by mike (Guest)
on 07.09.2008 11:16
(Received via mailing list)
On Sun, Sep 7, 2008 at 1:38 AM, Igor Sysoev <is@rambler-co.ru> 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 :) Let someone else do it
(as Manlio says)

We need you to focus on the core product for 99% of the target OS :)
Posted by Igor Sysoev (Guest)
on 07.09.2008 11:19
(Received via mailing list)
On Sun, Sep 07, 2008 at 11:00:44AM +0200, Manlio Perillo 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.
Posted by Igor Sysoev (Guest)
on 07.09.2008 11:20
(Received via mailing list)
On Sun, Sep 07, 2008 at 02:10:22AM -0700, mike wrote:

> On Sun, Sep 7, 2008 at 1:38 AM, Igor Sysoev <is@rambler-co.ru> 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 :) Let someone else do it
> (as Manlio says)
> 
> We need you to focus on the core product for 99% of the target OS :)

Win32 port is hobby, (as well as nginx whole itself :).
Posted by Mansoor Peerbhoy (Guest)
on 07.09.2008 17:46
(Received via mailing list)
Then it's a great hobby :)

Cheers
Mansoor

----- Original Message -----
From: "Igor Sysoev" <is@rambler-co.ru>
To: nginx@sysoev.ru
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 Sysoev <is@rambler-co.ru> 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 :) Let someone else do it 
> (as Manlio says) 
> 
> We need you to focus on the core product for 99% of the target OS :) 

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