Apache2 Ubuntu

Descargar como txt, pdf o txt
Descargar como txt, pdf o txt
Está en la página 1de 6

/etc/apache2/ports.

conf Configuracion donde se define los puertos de apache

==================== MPM(Multiprocemiento en apache)=====================

https://www.vozidea.com/diferencias-entre-apache-prefork-event-worker

Existen 3 tipos de MPM con los que trabaja apache. y estos determinan el tipo de
multiprocesamiento que
realizara apache para las peticiones, estos se tienen que habilitar en la carpeta
de modulos y solo puede
correr uno

mpm-prefork

Apache crear procesos hijos para atender las peticiones, esto sera un problema
si es que tiene
demasiada concurrencia y pocos recursos en cpu y ram, debido que para cada
peticion un hijo se ocupa
y no puede atender a otro hasta que se desocupe

Cada hijo es como si se hubiera levantado otra instancia del servidor originar,
por no decir que es una replica

Una ventaja es la disponibilidad de modulos ya que existen varios modulos no


thread-safe como php_mod

MPM Prefork es el módulo más estable pero también es el que más recursos
consume (en cuanto a
RAM y CPU) ya que mantener los diferentes procesos de Apache es “caro” en
cuanto a recursos

En el prefork(mod_php) el servico de apache se hace cargo del procesos


En el caso de worker y event, este es un proceso del sistema operativo. Apache
solo sirve como proxy

<IfModule mpm_prefork_module>
StartServers 5 con cuantos procesos hijo
empieza apache
MinSpareServers 5 numero de procesos hijos tiene
que tener para cubrir las peticiones
MaxSpareServers 10 numero maximo de procesos hijos
que puede crecer para atender las peticiones
# ServerLimit 1024
MaxRequestWorkers 150
MaxConnectionsPerChild 0
</IfModule>

mpm-worker
Es una mejora de npm-prefork, ya que este trabaja con varios thread por cada
proceso hijo y esto permite
atender mas peticiones, una desventaja es que hay que ver la compatibilidad de
modulos que sean thread-safe
MPM Worker al usar threads sólo soporta módulos de Apache que sean thread-safe,
por lo que el
famoso mod_php no puede ser usado con Apache MPM Worker.

Existe una alternativa a mod_php compatible con Worker que se llama php-fpm, la
cual también
ofrece sus ventajas e inconvenientes frente a mod_php. Resumiendo mucho una
comparativa
entre mod_php y php-fpm podríamos decir:

Ventajas de mod_php: nos ofrece velocidad y facilidad de configuración.


Ventajas de php-fpm: nos ofrece un mejor uso de recursos (RAM y CPU) y
mayor eficiencia.
Inconvenientes de mod_php: consume más recursos.
Inconvenientes de php-fpm: configuración más complicada.

mpm-event

MPM Event hasta hace poco era considerado como experimental pero hoy en día ya
es una
opción estable. Es una mejora de MPM Worker y soluciona un problema de
optimización que
mostraba MPM Worker con la opción Keep Alive de Apache. No quiero entrar en una
explicación
detallada sobre el problema de optimización y confundiros con datos técnicos,
por lo que seré
breve y diré que MPM Event mejora el rendimiento de Apache durante las
peticiones
con Keep Alive, que son muy comunes.

Como MPM Event está basado en MPM Worker, tiene las mismas ventajas e
inconvenientes que este,
por lo que obviamente MPM Event no es compatible con mod_php, habrá que usar
php-fpm.

De igual manera para que podamos usar php con mpm_event, tenemos que optar por
php-fpm

fast-cgi

==================== Modulos ==================

Existen 2 tipo de modulos, los static y shared


static.- Modulo que se carga de forma binaria, es decir que apache lo carga
de forma predeterminada
Impidiendo que nosotros podamos ya sea habilitar o inhabilitar

shared.- Son modulos que nosotros podemos cargar habilitando o


deshabilitandolos, esto se hace para
Que la carga de modulos no sea monolitico

los [NAME_MODULO] son los nombres de los archivos de las carpetas mods-* y
terminan en .conf, .load
a2dismod [NAME_MODULO] comando para deshabilitar un modulo de apache
a2enmod [NAME_MODULO] comando que habilita un modulo de apache

CGI.- Modulo que nos permite ejecutar programas de otros lenguajes

mods-available/mime.conf Modulo qu se encarga de manejar los content-


types de las peticiones al servidor

mods-available/deflate.conf Modulo que nos ayuda a compresion de archivos


que servira el
servidor, y luego el cliente lo descomprimira.
Ayuda a ahorrar el ancho de banda
y la velocidad de respuesta

====================sites ==================

a2dissite [NAME_SITE] Comando que deshabilita una configuracion de las


capetas site-*
a2ensite [NAME_SITE]

sites-enabled/000-default.conf Virtualhost por defecto

===================== conf =================

a2disconf [NAME_CONF] Comando que deshabilita una configuracion de las


capetas conf-*
a2enconf [NAME_CONF]

conf-available/charset.conf Encodificacion que soportara apache(UFT-8,


ACSI, iso...)

conf-available/security.conf Seguridad de apache

============= Directivas ===================

Virtualhost

Directiva donde configuramos un sitio web, estas son algunas opciones que nos
ofrece

ServerName: Es el nombre del host o el puerto que el servidor usa para


identificarse a si mismo.
ServerName puede aceptar también número de puerto mientras que
ServerAlias no puede.

ServerName ow‐fastcgi.com

ServerAlias: Son nombres alternativos para un host usados para coincidir con
requests para hosts
virtuales. ServerAlias puede aceptar comodines (por ejemplo:
*.miweb.com) mientras que ServerName no puede.

ServerAlias www.ow‐fastcgi.com

DocumentRoot: Indiicamos desde que path vamos a usar como directorio para est
Virtualhost

DocumentRoot /var/www/mysite/public

Directory(Directiva).............

FilesMatch(Directiva).............

ErrorLog: Indicamos donde se va a guardar los logs

ErrorLog ${APACHE_LOG_DIR}/example.com‐error.log

LogLevel: Indicamos el nivek de los logs: debug, info, notice, warn, error,
crit
En produccion no hay que usar debug ya que es peligroso y ademas
afecta al rendimiento

LogLevel debug

CustomLog: investigar...
CustomLog ${APACHE_LOG_DIR}/ow‐fastcgi.com‐access.log combined

Directory
Directiva donde configuramos los permisos que tendra cierto directorio, recibe
como parametro el path
del directorio

<Directory /var/www/html >


...
...
</Directory>

Options

Existen 2 tipo de operados que sirven ya sea para asignar o quitar


permisos, estos son:
- Operador qu quita permisos
+ Operador qu agreaga permisos

Indexes: Opcion que nos permite mostrar o no los archivos que estan en
este directorio, por seguridad
se quitan estos permisos

Options -Indexes

FollowSymLinks: Opcion que nos permite decidir que si existe un enlace


simbolico, si podemos seguirlo o no
Se recomiendo deshabilitarlo, ya que puede conducir a
otros directorios

MultiViews: Options MultiViews permite mostrar una página distinta en


función del idioma
del navegador.

- Si utilizamos esta opción, al nombre de los ficheros hay


que añadir el código
del idioma. Por ejemplo index.html.es, index.html.en o
index.html.de si se trata
de una página en castellano, inglés o alemán.

- En /etc/mods-enabled/negotitation.conf se especifica la
prioridad del idioma
en el caso de que no se encuentre una página adecuada para
el idioma suministrado
por el navegador.

Options +MultiViews

DirectoryIndex: indicamos cual va ser el archivo index que debe cargar en este
directorio

DirectoryIndex inicio.html

AllowOverride: averiguar

AllowOverride All

Require: averiguar

Require All granted

FilesMatch

versiones 2.4.10+ se puede usar socket unix(buscar el socket en el


directorio /var/run/...)
SetHandler "proxy:unix:/var/run/php5‐fpm.sock|fcgi://localhost/"

Caso contrario para versiones mas antiguas usar un socket tcp


SetHandler "proxy:fcgi://127.0.0.1:9000"

=============================== apache-utils===================================

Utilidades de apache

=============== ab =======
comando que nos permite simular peticiones a nuestro servidor

ab [OPCIONTS] URL:PORT/

[OPTIONS]
-c [N] numero de peticions concurrentes(cuantas maquinas o clientes)
-n [N] Total de peticiones que se realizaran entre todas las concurrencias

Ejemplo
ab -c 1000 -n 10000 http://192.168.1.16:80/contenido

También podría gustarte