Server Fundamentals

JunePyo Suh·2020년 9월 10일
0

Apache

  • provides a variety of multi-processing moduels (MPMs)
  • flexible architecture for choosing different connection and request handling algorithms
  • flexibility comes at a cost of resource consumption

Nginx

  • designed to use an asynchronous, non-blocking, event-driven connection handling algorithm
  • spawns worker processes, each of which can handle thousands of connections
  • such connection processing model allows Nginx to scale very fast and wide with limited resources (especially good for low power systems or heavy loads)

Static & Dynamic Content

Apache

  • can process dynamic content within the web server itself, without having to rely on external components through the use of dynamically loadable modules

Nginx

  • can't process dynamic content itself; instead, passes it to an external processor for execution and wait for the rendered content to be sent back

Distributed or Centralized Configuration

Apache

  • allows additional configuration on a per-directory basis by interpreting directives in .htaccess files
  • it is possible to allow non-privileged users to control certain aspects of their website without granting them the permissions to edit the main config file

Nginx

  • does not provide any mechanism for per-directory configuration, but, because it doesn't have to search for .htacess files, it is faster in serving requests

Proxy server

Why would you want a proxy server?

  • avoid state or institutional browsing restrictions
  • block access to certain content
  • protect identity online

Reverse proxy server

Why would you want a reverse proxy?

  • load balancing
  • protection from attacks : a website never needs to reveal the IP address of their origin servers when using a reverse proxy
  • content caching
  • SSL encryption

More can be found about proxy and reverse proxy servers here

0개의 댓글