Support Lighttpd and Nginx

Discussion in 'Feature Requests' started by ryan14, Sep 25, 2009.

  1. ryan14

    ryan14 New Member

    Currently ISPConfig 3 only supports Apache web server. My feature request is, you should support Lighttpd and Nginx web servers
     
  2. cubells

    cubells Member HowtoForge Supporter

    I think it's a very good idea too.

    I support your request!!
     
  3. Keeper

    Keeper New Member

    I third this request. Nginx support would be really welcome.
     
  4. oncletom

    oncletom New Member

    Surelly it would be nice.
     
  5. Ovidiu

    Ovidiu Active Member

    definitely a nice wish, but are there any plans? any feedback from the developers regaring this question?
     
  6. till

    till Super Moderator Staff Member ISPConfig Developer

    They might get supported them if they deliver all the functions that apache has and that were currently built into ISPConfig (the different php modes, .htaccess files in apache syntax etc). Otherwise there would be functions in the ispconfig interface that will not work and poeple might wonder if they enable certain checkboxes and nothing happens because the underlaying webserver is not able to handle the requested function.
     
  7. bugsmoran

    bugsmoran New Member

    No, Till, you're mistaken a little bit.
    Nginx is not a web-server, it just proxies web-traffic. This is like a frontend in front of apache just to give out static files itself e.g. .jpg, .js or .html. But all the CGI-scripts it transfers to apache anyway (or whoever like php-fgm or Tomcat).

    For example how it been performed by ISPmanager panel (BTW - your compete):
    It puts nginx to port 80, and moves apache to 8080.
    Traffic comes to IP.ADD.RE.SS:80 where nginx does everything it could itself and requests Apache on localhost:8080 to run CGI. Then Apache gives to nginx (localhost:80) all it compiled while CGI ran and nginx returns complete data to visitor.
    This case is very helpful to offload Apache of dirty dumb work. It performs the only serious staffs like CGI cause Apache is heavy like an iron bridge :) but nginx takes less memory space while doing the easy job.

    Please take trial (2 week) license from ISPmanager and just check how it works overthere.

    But the problem to realize that function will be when developer will synchronize nginx.conf and httpd.conf(apache2.conf). Both of them have to posses similar virtualhosts list.

    We realy need nginx support for overloaded servers.

    Actually this is particulary related to bug report FS#1017
    http://bugtracker.ispconfig.org/index.php?do=details&task_id=1017
     
    Last edited: Jan 27, 2010
  8. moglia

    moglia New Member

    I sugest cherokee insted Lighttpd or Nginx

    http://www.cherokee-project.com/benchmarks.html

    Have interessant things like: balance, streaming audio/video, mysql bridge, htpassword compatible and more.

    Just need learn how make the config file to write correct confs.
    I try learn it using cherokee admin interface.

    Can ask to cherokee guys integration with ispconfig 3.
     
  9. Keeper

    Keeper New Member

    bugsmoran, you are also a bit confused there. :) Yes, nginx is a proxy but it IS also a web-server. You can use it as either or both at the same time. You can completely replace apache with nginx if you so want.

    Now this is something that will never happen I believe. For example, neither nginx or lighttpd supports htaccess files. And in most cases htaccess files are just slowing things down for little benefit.

    If you expect those web servers to be 100% Apache compatible, then what's the point in having them at all. Since they would be effectively same as Apache, including all of its downsides. So the bottom line is that we'll never get nginx or lighttpd support if ISPConfig devs are waiting for them to become clones of Apache.

    However, the reverse is also true. Both nginx and lighttpd have features that Apache will likely never have. Features that many ISPConfig users would welcome with open arms, even if it meant losing some Apache-only functionality.
     
    Last edited: May 18, 2010
  10. till

    till Super Moderator Staff Member ISPConfig Developer

    We might add nginx and lighttpd support at some time. But I guess poeple will then complain if several options do not work anymore in ispconfig because because the underlaying webserver is not able to provide them. I expect especially problems with cms systems that use complex rewrite rules for search engine optimisation (e.g. wordpress, joomla, typo3, drupal just to name a few) as the .htaccess files provided by them will not work anymore.

    lighttpd and nginx are nice servers if you have a special purpose setup e.g. for a single website with high traffic but they might be a bit too light for normal hosting where poeple rely on features like .htaccess.
     
  11. Keeper

    Keeper New Member

    If someone chooses nginx or lighttpd over apache, I'm fairly certain they have educated themselves of their features (or lack thereof).

    As for htaccess, AFAIK they are mostly used for rewrite rules, to which both nginx and lighttpd provide modules. Now, said modules do not use htaccess files but you're able to replicate functionality of htaccess files.

    Nginx and lighttpd might be light webservers, but this does not mean that they are not suitable for "normal" hosting as you put it. Exactly the opposite actually. Both of them provide enough features to set up complex virtual hosting with PHP, Ruby, you name it, without need for Apache.

    The only caveat here is that while they provide the features, they are not necessarily Apache-compatible. Such as any Apache features relying on htaccess files. Still, in almost all cases you can replicate full functionality of htaccess files via their own respective features.

    Them being light webservers is a misnomer really. What light means, is that they are fast, lean and mean webservers that are in most cases far more resource friendly than Apache. With alternative web servers you can potentially save up enormous amounts of memory and increase scalability beyond what Apache is able to.

    This makes nginx and lighttpd top choices for people who have low-end servers or for people who are running very busy sites. Hell, they allow you to serve more users with same hardware as apache. And all this without having to sacrifice basic functionality you expect from web servers.

    As for ISPConfig. Graying out unsupported features in ISPConfig interface would probably be more than enough for most people. That way you can add nginx or lighttpd specific features, which are then grayed out for apache users.
     
    Last edited: May 18, 2010
  12. StephenKing

    StephenKing New Member

    Hi,

    I've set up a new server with ISPconfig and also played around with nginx. Together with php-fpm (see e.g. this tutorial), it works perfectly with TYPO3 and ~25-30% faster than Apache (while having ~40% lower memory consumption during a httperf stress test).

    So I'd like to ask, what the current plans are. As ISPconfig pretends (;)) to have a good plugin support, it should be easy to achieve, shouldn't it ;)

    I found the [URL="gitorious.org/ispconfig-lite/ispconfig-lite]gitorious repository[/URL] of "ispconfig-lite", which seems to bring nginx support. But I was not able to find any documentation or information regarding the state of the implementation.

    Does anybody know, where the pitfalls of an nginx integration are?
    I don't mind in some UI options being useless, as I configured the underlying server myself. IMHO most important things would be to write the sites-(enabled|available) file and restart the service. I don't expect more from a first implementation.

    Thanks for your answer
    Steffen
     
  13. falko

    falko Super Moderator Howtoforge Staff

    There are currently no plans of integrating nginx or Lighttpd support.
     
  14. StephenKing

    StephenKing New Member

    Thanks for your answer, Falko.

    Do you know sth. about the pitfalls or anybody else who is interested in developing such a plugin?

    Steffen
     
  15. till

    till Super Moderator Staff Member ISPConfig Developer

    The main problem that I see with such a plugin that neither lighttpd nor nginx is able to emulate all functions of a apache webserver. They are fast and a good choice for special purpose websites, but they can not fully replace apache on many setups. So several settings in the ispconfig interface will become useless and this might irritate cutsomers. E.g. when they add a rewrite rule which will not work or they try to use php modes and settings that are only available in apache. Especially .htaccess is a problem, as most cms system today come with htaccess files and thes efiles wont work anymore with lighttpd or ngincx. so your customers will call you to ask why their cms is not working as expected.

    If you run a special purpose server e.g. as web agency and dont let your customers access the site settings and you dont need all functions that apache offers, then a lighttpd or nginx plugin might be a good choice.
     
  16. StephenKing

    StephenKing New Member

    Hi Till,

    as pointed out, if sb. chooses nginx, he probably knows, what he's doing. None of the clients on my server will configure it's domain himself. I like ISPconfig just to ease the process of creating new vhosts, mail accounts etc.

    And as an administrator, I'd be fine for the beginning, having non-functional apache-only fields, when I'm running nginx.

    What about moving the apache-specific fields to the apache plugin? It doesn't sound like it's this way currently (although I'd expect it from a plugin-based system).
    Then deactivating the apache plugin would also remove all the related fields. Do you think that's an achievable task?

    Steffen
     
  17. till

    till Super Moderator Staff Member ISPConfig Developer

    The server and interface part are completely separated. The server part id completely based on plugins, the interface not. The interface supports plugins and also events, but the templates are files and not created on the fly, so they can not reflect such changes. Enabling or disabling a server plugin has no influence on the interface.
     
  18. shikar

    shikar Banned

    thanks for sharing
     

Share This Page