Apache 1.3 vs. nginx vs. base httpd

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Apache 1.3 vs. nginx vs. base httpd

Bogdan Andu
Hi,
There are some confusing info about which won the base-webserver in OpenBSD:
In 5.6 it seems to be nginx 1.6.0 (http://www.openbsd.org/plus56.html) :
Unhooked httpd(8) from build: use of nginx(8) is encouraged now.
Removed Apache from base (replaced by nginx(8)). 
and

In current (http://www.openbsd.org/plus.html):Removed nginx from the base
system in favour of OpenBSD's homegrown httpd(8).

and now I am confused.

I was planning to migrate some Perl scripts from mod_perl 1.3/Apache 1.3 to
Nginx styleusing the Perl Module Nginx having direct access to Nginx internals
which is almost
like doing cgi programming in C.
It would made a wonderful combination between speed and security (running on
OpenBSD).

My questions...
1) why Apache 1.3 (OpenBSD patched version) was also considered to be no more
a viable options as base web server?

2) why nginx has been considered a good candidate for base web server in 5.6
   and, in -current,  lost this place?
3) what would be the performance of running Perl scripts through
FastCGI+httpd, compared to Apache1.3/mod_perl1.3 compared to nginx/Nginx perl
module?

4) will httpd be able to support Perl script processing without the need to
talk to an external (FasCGI) daemon?
5) what would be the best option to run Perl scripts in OpenBSD 5.6 + ?

Thank you,
Bogdan

Reply | Threaded
Open this post in threaded view
|

Re: Apache 1.3 vs. nginx vs. base httpd

Jiri B-2
On Thu, Nov 06, 2014 at 09:24:24AM +0000, Bogdan Andu wrote:
> Hi,
> There are some confusing info about which won the base-webserver in OpenBSD:
> In 5.6 it seems to be nginx 1.6.0 (http://www.openbsd.org/plus56.html) :
> Unhooked httpd(8) from build: use of nginx(8) is encouraged now.
> Removed Apache from base (replaced by nginx(8)).??

There's no confusion. Search archives and/or check undeadly.org.

j.

Reply | Threaded
Open this post in threaded view
|

Re: Apache 1.3 vs. nginx vs. base httpd

Mike Burns
In reply to this post by Bogdan Andu
On 2014-11-06 09.24.24 +0000, Bogdan Andu wrote:
> 3) what would be the performance of running Perl scripts through
> FastCGI+httpd, compared to Apache1.3/mod_perl1.3 compared to
> nginx/Nginx perl module?

You need to run these benchmarks yourself, on your scripts and data.

-Mike

[demime 1.01d removed an attachment of type application/pgp-signature]

Reply | Threaded
Open this post in threaded view
|

Re: Apache 1.3 vs. nginx vs. base httpd

lists
In reply to this post by Bogdan Andu
On Thu, Nov 06, 2014 at 09:24:24AM +0000, Bogdan Andu wrote:
> 4) will httpd be able to support Perl script processing without the need to
> talk to an external (FasCGI) daemon?

Just my 2c about the new httpd daemon.  It's brand new in 5.6, and is
shaping up to be an awesome and simple server.  I fully intend on
replacing nginx with it in production when 5.7 is released.

That being said, the 5.6 implementation has some issues that you may
want to research further if you'd like to use it.  They've already been
fixed in -current.

Reply | Threaded
Open this post in threaded view
|

Re: Apache 1.3 vs. nginx vs. base httpd

Bogdan Andu
Hi,
thanks for input.
is the new httpd daemon ready for production?
For example is it safe to migrate Perl scripts from Apache 1.3/mod_perl1.3 to
httpd/FastCGI?
Are Perl scripts in FastCGI evaluated in same manner like in mod_perl, or
everytime a script is invoked by the server the Perl interpreter is invoked
also ?
From manual pages:
http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-5.6/man5/httpd.conf.5?query=ht
tpd.conf&sec=5&arch=amd64&manpath=OpenBSD-5.6

looks very impressive and I see that httpd(8) uses slowcgi(8) - an
implementation of FastCGI protocol - to execute cgi scripts, Perl or
otherwise.

I want to setup a 5.6 machine and test all these cool stuff but for the moment
I don't have access to such machine and I would like to see what other poeple
experienced with this httpd(8) daemon .

For me these new stuff looks very exciting and I can't wait to try it.
Thanks for any thoughts,
Bogdan


     On Thursday, November 6, 2014 6:48 PM, "[hidden email]" <[hidden email]>
wrote:


 On Thu, Nov 06, 2014 at 09:24:24AM +0000, Bogdan Andu wrote:
> 4) will httpd be able to support Perl script processing without the need to
> talk to an external (FasCGI) daemon?

Just my 2c about the new httpd daemon.  It's brand new in 5.6, and is
shaping up to be an awesome and simple server.  I fully intend on
replacing nginx with it in production when 5.7 is released.

That being said, the 5.6 implementation has some issues that you may
want to research further if you'd like to use it.  They've already been
fixed in -current.

Reply | Threaded
Open this post in threaded view
|

Re: Apache 1.3 vs. nginx vs. base httpd

Stuart Henderson
On 2014-11-13, Bogdan Andu <[hidden email]> wrote:
> Are Perl scripts in FastCGI evaluated in same manner like in mod_perl, or
> everytime a script is invoked by the server the Perl interpreter is invoked
> also ?

If you run them via slowcgi, the interpreter+script will be started from
scratch each time.

To have a persistent Perl process, convert your script to talk FastCGI
directly (see ports/www/fcgi) or via PSGI and a fastcgi adapter, or use
some framework that supports it (in Perl-land you might want to look at
frameworks like Mojolicious, Dancer etc).

> I want to setup a 5.6 machine and test all these cool stuff but for the moment
> I don't have access to such machine and I would like to see what other poeple
> experienced with this httpd(8) daemon .

httpd was *very* new in 5.6, you want something newer (-current, or
keep your eye out for patches). If you want to play with fcgi before
updating, nginx and lighttpd support it natively, and apache via a
module - it isn't something new, it has been around for years, it's
pretty much the only standard way to handle cgi-like scripting in a
non-forking webserver. Config methods differ, but scripts should be
portable between all the various http servers.

Reply | Threaded
Open this post in threaded view
|

Re: Apache 1.3 vs. nginx vs. base httpd

Bogdan Andu
Hi,
Thank you for insights,
I see that scripts written in Perl need a special Perl that supports FastCGI
(see FastCGI Programmer's Guide - Chapter 3, Developing FastCGI Applications
in Perl)
..snip..
"The FastCGI-savvy binaries are extensions of standard Perl, and are intended
to replace your existing Perl installation."..snip..
This is not something I want. I want to use OS's Perl distribution with tools
that work directly with standard distribution.
May be it is time to consider the possibility to convert Perl/Apache/mod_perl
scripts to Erlang Yaws/Mochiweb/WebMachine/Cowboy or even Nitrogen framework.
Another question because I use Erlang on OpenBSD ...
I applied patches from R15B02 to OTP 17.3 and it seems to work as expected
(stress tests, etc). Do you think it is safe this for production environment
as I want to migrate the R14B04 applications to OTP 17.3 ?

It is scheduled for near future to upgrade OTP from R15B02 to 17.3 ?

Bogdan

|   |
|   |   |   |   |   |
| FastCGI Programmer's Guide - Chapter 3, Developing FastCGI Applications in
Perl[Top] [Prev] [Next] [Bottom] 3 Developing FastCGI Applications in Perl
This chapter explains how to code FastCGI applications in Perl.  |
|  |
| View on www.fastcgi.com | Preview by Yahoo |
|  |
|   |

 Â 

     On Thursday, November 13, 2014 9:36 PM, Stuart Henderson
<[hidden email]> wrote:


 On 2014-11-13, Bogdan Andu <[hidden email]> wrote:
> Are Perl scripts in FastCGI evaluated in same manner like in mod_perl, or
> everytime a script is invoked by the server the Perl interpreter is invoked
> also ?

If you run them via slowcgi, the interpreter+script will be started from
scratch each time.

To have a persistent Perl process, convert your script to talk FastCGI
directly (see ports/www/fcgi) or via PSGI and a fastcgi adapter, or use
some framework that supports it (in Perl-land you might want to look at
frameworks like Mojolicious, Dancer etc).

> I want to setup a 5.6 machine and test all these cool stuff but for the
moment
> I don't have access to such machine and I would like to see what other
poeple
> experienced with this httpd(8) daemon .

httpd was *very* new in 5.6, you want something newer (-current, or
keep your eye out for patches). If you want to play with fcgi before
updating, nginx and lighttpd support it natively, and apache via a
module - it isn't something new, it has been around for years, it's
pretty much the only standard way to handle cgi-like scripting in a
non-forking webserver. Config methods differ, but scripts should be
portable between all the various http servers.