Httpd Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 7: Line 7:
* https://httpd.apache.org/docs/current/stopping.html
* https://httpd.apache.org/docs/current/stopping.html


The httpd server, which may consist in several OS processes, can be stopped and restarted by sending Unix signals into the ''[[Httpd_Concepts#The_Parent_Process|parent process]]''. Under normal circumstances, you should never have to interact with the child processes. There are four types of lifecycle events httpd can go through, and they correspond to four different Unix signals:
The httpd server, which may consist in several OS processes, can be stopped and restarted by sending Unix signals into the ''[[Httpd_Concepts#The_Parent_Process|parent process]]''. Under normal circumstances, you should never have to interact with the child processes. There are four types of lifecycle events httpd can go through, and they correspond to four different Unix signals, described below. The signals can be sent into the parent process using the httpd process directly, using the -k command line options or (recommended) the <tt>apachectl</tt>control script. For more details on how to operationally control the lifecycle see [[Controlling httpd Lifecycle]].


==Stop Now==
==Stop Now==

Revision as of 20:18, 2 January 2017

Internal

Server Lifecycle

The httpd server, which may consist in several OS processes, can be stopped and restarted by sending Unix signals into the parent process. Under normal circumstances, you should never have to interact with the child processes. There are four types of lifecycle events httpd can go through, and they correspond to four different Unix signals, described below. The signals can be sent into the parent process using the httpd process directly, using the -k command line options or (recommended) the apachectlcontrol script. For more details on how to operationally control the lifecycle see Controlling httpd Lifecycle.

Stop Now

TERM

Graceful Restart

USR1

Restart Now

HUP

Graceful Stop

WINCH

The Parent Process

The httpd parent process is the process whose PID is written in PidFile. Under normal circumstances, the lifecycle of the entire server, consisting in a parent process and several children, can be controlled by sending signals into the parent process only,

Multi-Processing Module (MPM)

Multi-Processing Module (MPM) Concepts

Proxying Concepts

Proxying Concepts

Context

Virtual Host

Overview

A virtual host is a container within a httpd instance serving a single logical web site. Multiple, separate web sites, even belonging to different domains, can be served off the same httpd instance without that being apparent to the client. The virtual hosts can be name-based or ip-address based.

Name-Based Virtual Host

The server relies on the client sending a "Host" HTTP header. It uses the value to locate the correct logical host. This technique allows many different virtual hosts to share the same IP address. The web browser must cooperate by sending the correct "Host" header, as part of each request.

Name-based virtual hosting is the preferred technique, unless you're using equipment that explicitly demands IP-based hosting.

IP Address-Based Virtual Host

IP-based virtual hosts use the IP address of the connection to determine the correct virtual host to serve. Therefore you need to have a separate IP address for each host.

Virtual Host Configuration

A virtual host is declared in the httpd configuration using the <VirtualHost> configuration element. More details on virtual host configuration:

httpd Virtual Host Configuration

SSL Support

httpd provides SSL/TLS encryption support via the mod_ssl module, which is an interface to OpenSSL library. More details about SSL configuration are available here:

httpd SSL Configuration

Module

httpd Modules