Hi,

On Sam 21.11.2009 11:44, Ryan Chan wrote:
Hello,

On Sat, Nov 21, 2009 at 7:38 AM, Aleksandar Lazic <al-hapr...@none.at>
wrote:

You should setup haproxy so that the 'slow clients' don't eat all
connections to apache.


That's mean HA Proxy can handle this for me, and nginx is useless in my
above setup?

(Since I don't use nginx/fast_cgi to serve PHP, I use apache)

Well depend on what you want to do.

http://haproxy.1wt.eu/download/1.3/doc/architecture.txt

From the current informations we have, yes you can use the setup without
nginx, but then the apache delivers not only the dynamic content also
the static one, what he can, of course ;-).

Another possible solution is to deliver the static content from nginx
and only the dynamic one goes to apache.

http://haproxy.1wt.eu/download/1.3/doc/configuration.txt


###
default_backend <backend>
  Specify the backend to use when no "use_backend" rule has been matched.
  May be used in sections :   defaults | frontend | listen | backend
                                 yes   |    yes   |   yes  |   no
  Arguments :
    <backend> is the name of the backend to use.

  When doing content-switching between frontend and backends using the
  "use_backend" keyword, it is often useful to indicate which backend will be
  used when no rule has matched. It generally is the dynamic backend which
  will catch all undetermined requests.

  The "default_backend" keyword is also supported in TCP mode frontends to
  facilitate the ordering of configurations in frontends and backends,
  eventhough it does not make much more sense in case of TCP due to the fact
  that use_backend currently does not work in TCP mode.

  Example :

        use_backend     dynamic  if  url_dyn
        use_backend     static   if  url_css url_img extension_img
        default_backend dynamic

  See also : "use_backend", "reqsetbe", "reqisetbe"
###

### 7.7. Using ACLs to form conditions
.
.
.
To select a different backend for requests to static contents on the "www" site
and to every request on the "img", "video", "download" and "ftp" hosts :

   acl url_static  path_beg         /static /images /img /css
   acl url_static  path_end         .gif .png .jpg .css .js
   acl host_www    hdr_beg(host) -i www
   acl host_static hdr_beg(host) -i img. video. download. ftp.

   # now use backend "static" for all static-only hosts, and for static urls
   # of host "www". Use backend "www" for the rest.
   use_backend static if host_static or host_www url_static
   use_backend www    if host_www

See section 4.2 for detailed help on the "block" and "use_backend" keywords.
###

Effect, you can answer some sorry sites from nginx and apache doe his
heavy work.

Another way is to use switch to nginx/fast_cgi and remove apache from
the setup, if it's possible.

So you see there is not only one way to solve your issue.

Hth

Aleks

Reply via email to