Web Stack?
PHP
MySQL
Apache
Linux
This slide has fragments which are also stepped through in the notes window.
Hay un mundo allá afuera...
La herramienta apropiada para cada problema
¿Es LAMP la mejor solución para todo proyecto PHP?
LEMP
PHP
MariaDB
Nginx
Linux
Menor a 5.3?
PHP 5.2 EOL:
6 Jan 2011, 4 years, 6 months ago
PHP 5.3
- Namespaces
- Funciones anónimas (closures)
PHP 5.3.29 EOL, 14 Aug 2014, 11 months ago
PHP 5.4
- Manejo de peticiones FastCGI
- Traits
- Sintaxis corta para manejo de arrays
- Mejor manejo de memoria
- Grandes mejoras en rendimiento
- Servidor web incorporado
$ php -S localhost:8000 [-t dir/]
PHP 5.5
- Sin soporte activo hace 21 días
- Soporte de seguridad hasta 10 Jul 2016
PHP 5.6
- Soporte activo hasta 28 de Agosto de 2016
- Soporte de seguridad hasta 28 de Agosto de 2017
Muchas razones para cambiar...
Pero mi Shared Host no soporta...
MariaDB
“...they have no love for open source, working with the community, or MySQL in general.”
Monty Widenius
MariaDB
Algo de historia:
- 2008: MySQL AB es vendido a SUN Microsystems
- 2009: MySQL es vendido a ORACLE
-
2009: y el desarrollo de MySQL?
- Casi todos los desarrolladores originales de MySQL trabajan ahora en MariaDB.
MariaDB
- Fork de MySQL, con la intención de mantener un proyecto guiado por la comunidad.
- Primer release 22 de enero de 2009
- Liderado por autores originales de MySQL
- Un objetivo principal es mantener binaria con MySQL, APIs y comandos
Algunas características técnicas
- Nuevo motor de almacenamiento XtraDB como reemplazo a InnoDB.
- Nuevo motor de almacenamiento Aria para motores transaccional y no transaccional. (WIP)
- Hasta la versión 5.5 seguía el número de versión de MySql.
- Diferenciaciones en nuevas versiones 10 en adelante.
- No se importan todas las características de de MySQL 5.6
Quién lo usa?
- Arch Linux (default).
- Fedora, RHEL (default
- OpenSUSE (default)
- Slackware (default)
- SUSE (default)
- Debian
- Ubuntu
- Google
- Wikipedia
MariaDB
“...the simple truth is that there is no reason to use MySQL over MariaDB any more, while there are plenty of reasons to choose MariaDB.”
Monty Widenius
PHP FPM
- Fast CGI Process Manager
- Puede correr multiples procesos PHP worker para servir peticiones Fast CGI
- PHP > 5.4
Servicio PHP FPM
# apt-get install php5-fpm
# service php5-fpm restart
nginx
Servidor Reverse Proxy, para los protocolos HTTP, HTTPS, SMTP, POP3 e IMAP, además de ser un balanceador de carga, HTTP cache y Servidor Web.
nginx
- Su desarrollo fue iniciado en 2002 por Igor Sysoev
- Desarrollado para servir HTTP dinámico usando FastCGI, SCGI como manejadores de scripts
- Diseñado para hacerse cargo del "problema de los 10000".
nginx
“The most important is that nginx is a reverse proxy first and HTTP server second, its first concern is not files but rather URLs, this changes the way we have to configure nginx.”
de la documentación de nginx
Instalación
# apt-get install nginx
# service nginx start
Configuración Básica
/etc/nginx/nginx.conf
/etc/nginx/sites-available/default
Configuración de PHP independiente del servidor web. (El servidor web sólo se comunica con PHP, no interpreta)
/etc/php5/fpm/php.ini
Sistema Operativo
- Usa un SO de verdad
- ¿En qué Sistema Operativo se ejecuta tu software?
- Mantente “cerca” de producción
Linux
- Máquinas virtales
- Vagrant?
- Linux containers , LXC (kernel >= 3.8)
Actualiza tu Web Stack
Beto Arancibia / @betoscopio
Drupal Camp Costa Rica, 31 de Julio de 2015