Como se implementa a combinación Apache e Nginx en Timeweb
Para moitas empresas, Nginx + Apache + PHP é unha combinación moi típica e común, e Timeweb non é unha excepción. Non obstante, comprender exactamente como se implementa pode ser interesante e útil.
O uso desta combinación é, por suposto, ditado polas necesidades dos nosos clientes. Tanto Nginx como Apache xogan un papel especial, cada un resolve un problema específico.
configuración básica Apache realízanse nos ficheiros de configuración do propio Apache e a configuración dos sitios do cliente prodúcese Ficheiro .htaccess. .htaccess é un ficheiro de configuración no que o cliente pode configurar de forma independente as regras e o comportamento do servidor web. Esta configuración aplicarase específicamente ao seu sitio. Por exemplo, grazas á funcionalidade de Apache, os usuarios poden cambiar o modo operativo dentro da mesma versión de PHP de mod_php a mod_cgi; pode configurar redireccións, optimización para SEO, URL conveniente, algúns límites para PHP.
Nginx usado como servidor proxy para redirixir o tráfico a Apache e como servidor web para servir contido estático. Tamén desenvolvemos módulos de seguridade para Nginx que nos permiten protexer os datos dos nosos usuarios, por exemplo, para separar os dereitos de acceso.
Imaxinemos que un usuario visita o sitio web do noso cliente. En primeiro lugar, o usuario chega a Nginx, que serve contido estático. Ocorre ao instante. Despois, cando se trata de cargar PHP, Nginx reenvía a solicitude a Apache. E Apache, xunto con PHP, xa xera contido dinámico.
Características do paquete Apache e Nginx en Timeweb
O noso hospedaxe virtual implementa dous esquemas operativos principais para Apache e Nginx: Compartido e Dedicado.
Esquema compartido
Este esquema úsase para a maioría dos usuarios. Distínguese pola súa sinxeleza e intensidade de recursos: o esquema Compartido utiliza menos recursos, polo que a súa tarifa é máis barata. Segundo este esquema, o servidor executa un Nginx, o que lle permite atender todas as solicitudes dos usuarios e varias instancias de Apache.
O esquema Compartido leva moito tempo mellorando: aos poucos fomos corrixindo as carencias. Convenientemente, pódese facer sen necesidade de modificar o código fonte.
Esquema compartido
Esquema dedicado
Dedicado require máis recursos, polo que a súa tarifa é máis cara para os clientes. No esquema Dedicado, cada cliente obtén o seu propio Apache separado. Os recursos aquí están reservados para o cliente, son asignados exclusivamente. Como funciona: hai varias versións de PHP no servidor. Admitimos as versións 5.3, 5.4, 5.6, 7.1, 7.2, 7.3, 7.4. Así, para cada versión de PHP lánzase o seu propio Apache.
Esquema dedicado
Zona segura. Configurando zonas en Nginx
Anteriormente, para Nginx, utilizabamos moitas zonas (zonas) de memoria compartida: un bloque de servidor por dominio. Esta configuración require moitos recursos, xa que se crea unha zona separada para cada sitio. Non obstante, na configuración de Nginx, a maioría dos sitios son do mesmo tipo, polo que poden colocarse nunha zona grazas ao uso de directivas de mapas no módulo ngx_http_map_module, que permiten especificar correspondencias. Por exemplo, temos un modelo de zona no que debemos proporcionar variables: ruta ao sitio, versión PHP, usuario. Así, acelerouse a relectura da configuración de Nginx, é dicir, a recarga.
Esta configuración aforrou moito recursos de RAM e acelerou Nginx.
A recarga non funcionará!
No esquema Compartido, desfixémonos da necesidade de volver cargar Apache ao cambiar a configuración do sitio web. Anteriormente, cando un cliente quería engadir un dominio ou cambiar a versión de PHP, era necesaria unha recarga obrigatoria de Apache, o que provocaba atrasos nas respostas e afectaba negativamente o rendemento do sitio.
Deshacémonos das recargas creando configuracións dinámicas. Grazas a
Configuración de esquema compartido
Que pasa con Docker?
Moitas empresas pasaron a un sistema baseado en contedores. Timeweb está considerando actualmente a posibilidade dunha transición deste tipo. Por suposto, cada decisión ten pros e contras.
Xunto a vantaxes innegables, o sistema de contedores proporciona ao usuario menos recursos. En Timeweb, grazas ao esquema de hospedaxe descrito, o usuario non ten limitación de RAM. Recibe máis recursos que no contedor. Ademais, o usuario pode ter máis módulos de Apache cargados.
Timeweb alimenta uns 500 sitios web. Asumimos unha gran responsabilidade e non facemos cambios instantáneos e inxustificados na arquitectura complexa. A combinación Apache e Nginx é fiable e probada no tempo. Nós, pola súa banda, tentamos acadar o máximo rendemento mediante configuracións únicas.
Para un funcionamento rápido e de alta calidade dun gran número de sitios, cómpre usar un modelo e unha configuración dinámica de Apache e Nginx. Permítelle administrar de xeito sinxelo e rápido un gran número de servidores similares.
Fonte: www.habr.com