Preparando Servidores. WordPress con Varios Servidores. Guía (II)

En esta ocasión vamos a ir preparando los servidores para emitir WordPress desde Varios Servidores

Esta es una guía básica. Si algún punto no os convence, siempre podéis buscar más información en algo llamado Google, que va bastante bien según dicen.

Nuestra Configuración

Usamos una combinación de Apache2 y Nginx con en modo Proxy y con Procesamiento inteligente de archivos estáticos y servimos los archivos estáticos desde Ngnix (ambas opciones vienen en Plesk, si no usáis plesk, os lo recomiendo, es muy fácil de instalar en Ubuntu).

PHP

A mis archivos estáticos le añado webp para emitir con este tipo de imágenes y los archivos que queráis (en mi caso epub y algún otro).

Emito con gzip para comprimir las cositas y así la página pesa menos.

En PHP: Yo tengo la última (7.4.9 en este momento) con FPM servido de Nginx. No es oficialmente la estable pero es que me gusta ir de “cool” y a la última.

Luego marco 1280M para el límite de memoria e incremento tiempos de ejecución y demás porque mi página emite como emite y así me viene bien.

Insisto: depende de lo que queráis hacer, esto sirve para emitir una página web normal desde varios servidores con WordPress, luego hay que ir improvisando.

En directivas adicionales le pongo:

max_input_vars = 5000

 

En configuración de Apache y PHP

En directivas adicionales de http y https (en las dos lo mismo), pongo expires y demás, así no me complico con plugins o htaccess:

<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
FileETag None
ExpiresDefault "access plus 14 days"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/webp "access plus 1 month
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType text/css "now plus 1 month"
ExpiresByType image/ico "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType text/html "access plus 1 days"
</IfModule>
<IfModule mod_headers.c>
<FilesMatch ".(js|css|xml|gz|html)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
<IfModule mod_headers.c>
Header always append X-Frame-Options SAMEORIGIN
</IfModule>
<IfModule mod_substitute.c>
SubstituteMaxLineLength 50M
</IfModule>
# BEGIN Expire headers
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 5 seconds"
ExpiresByType image/x-icon "access plus 604800 seconds"
ExpiresByType image/jpeg "access plus 604800 seconds"
ExpiresByType image/png "access plus 604800 seconds"
ExpiresByType image/gif "access plus 604800 seconds"
ExpiresByType image/webp "access plus 1 month
ExpiresByType application/x-shockwave-flash "access plus 604800 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 604800 seconds"
ExpiresByType application/javascript "access plus 604800 seconds"
ExpiresByType application/x-javascript "access plus 604800 seconds"
ExpiresByType application/x-font-woff "access plus 604800 seconds"
ExpiresByType application/x-font-svg "access plus 604800 seconds"
ExpiresByType image/svg+xml "access plus 604800 seconds"
</ifModule>
# END Expire headers

Insisto: en las dos, en http y en https.

 

En directivas adicionales de Nginx pongo:

gzip on;
gzip_disable "MSIE [1-6].(?!.*SV1)";
gzip_proxied any;
gzip_comp_level 5;
gzip_types text/plain text/css application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon image/bmp image/svg+xml;
gzip_vary on;
# Media: images, icons
location ~* \.(jpeg|jpg|gif|png|ico|cur|gz|svg|svgz|webp)$ {
expires 1M;
access_log off;
add_header Cache-Control "public";
}

Insistencia (soy pesado)

Los tres servidores están iguales, así que los certificados ssl/tls… tres cuartas de lo mismo. Plesk cuenta con una herramienta de exportación que te “clava” configuraciones y archivos. Si partís de cero, es bastante recomendable.

 

Pues con esto (a no ser que se me olvide algo, que ya lo iremos completando), tendremos los servidores configurados de manera idéntica. Podéis jugar con los parámetros según os venga bien y se acomoden a vuestras necesidades.

Página anterior de la guía

Sobre el Autor

Avatar
Martin Cidhttps://martincid.com/author/martincid/
Autor de 13 libros y editor de Martin Cid Magazine
0 0 vote
Article Rating
Suscribir
Notificar de
guest
0 Comments
Inline Feedbacks
View all comments

Últimas Noticias

Toda una Vida en un Año (Life in a Year). Película 2020. Crítica

Toda una Vida en un Año (Life in a Year) es una película del 2020 dirigida por Mitja Okorn. Está protagonizada por Jaden Smith...

David Lynch. Biografía, Películas, Anécdotas, Frases

David Lynch es un director de cine americano nacido en Montana en 1946 David Lynch es un director conocido por su excentricidad y sus películas...

Black Beauty (2020). Película Disney. Crítica

Black Beauty es la última peli que podéis ver en Disney+ que dirige Ashley Avis. Protagonziada por Mackenzie Foy, Kate Winslet y Claire Forlani. Black...

Live or Let Die (2020): Película de Terror (Zombis). Estreno. Trailer

Live or Let Die es una película escrita, dirigida y protagonizada por Manuel Urbaneck. Cuenta además con Jan Bohlenschmidt y Steven Mooers en su...

El Teléfono (2020). Película Netflix. Estreno, Crítica

El Teléfono es una película surcoreana dirigida por Lee Choong Hyun y protagonizada por Park Shin-hye y Jun Jong-seo. Nos llega El Teléfono, la propuesta...

Artículos Relacionados

0
Would love your thoughts, please comment.x
()
x