141 lines
4.9 KiB
HTML

<!-- 36 -->
<p>Para el manejo de caché en Apache, debemos seguir los siguientes pasos:</p>
<p>1.- Habilitar los módulos de caché de Apache.</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code>sudo chown -R www-data:www-data /var/cache/apache2/mod_cache_disk
sudo chmod -R 755 /var/cache/apache2/mod_cache_disk
sudo apt-get install apache2-utils
sudo a2enmod expires
sudo a2enmod cache
sudo a2enmod cache_disk
sudo a2enmod headers
sudo systemctl restart apache2
</code></pre>
<p>2.- Configurar el caché en el disco: <br> Debemos movernos a la ruta donde están los archivos de configuración:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code>cd /etc/apache2/sites-available/</code></pre>
<p>3.- Modificar el archivo de configuración del sitio, por ejemplo:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code>sudo nano ejemplo.com.conf</code></pre>
<p>4.- Una vez en el modo de edición, veremos probablemente la configuración básica como esta:</p>
<pre>
<code>Listen 8084
&lt;VirtualHost *:8084&gt;
ServerAdmin tu-email@email.com
ServerName ejemplo.com
ServerAlias ejemplo.com
DocumentRoot &sol;var&sol;www&sol;ejemplo.com
WSGIDaemonProcess app-ejemplo user=www-data group=www-data threads=6 python-home=&sol;var&sol;www&sol;ejemplo.com&sol;.venv
WSGIScriptAlias &sol; &sol;var&sol;www&sol;ejemplo.com&sol;ejemplo.com.wsgi
# dentro de tu proyecto debe existir la carpeta log para que dentro de esa se almacenen los logs
ErrorLog &sol;var&sol;www&sol;ejemplo.com&sol;log&sol;error.log
CustomLog &sol;var&sol;www&sol;ejemplo.com&sol;log&sol;access.log combined
&lt;Directory &sol;var&sol;www&sol;ejemplo.com&gt;
WSGIProcessGroup app-ejemplo
WSGIApplicationGroup %{GLOBAL}
#Order deny,allow
Require all granted
&lt;&sol;Directory&gt;
&lt;&sol;VirtualHost&gt;
</code></pre>
<p>Dentro de la configuración, de preferencia después del cierre del tag &lt;&sol;Directory&gt;, agregaremos la
siguiente información:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code contenteditable="true"># Habilitar caché para todas las solicitudes
CacheEnable disk &sol;
# Configuración de caché
&lt;IfModule mod_cache_disk.c&gt;
CacheRoot &sol;var&sol;cache&sol;apache2&sol;mod_cache_disk
CacheDirLevels 2
CacheDirLength 1
# [bytes] Tamaño máximo de archivo a almacenar en caché
CacheMaxFileSize 1000000
# CacheMinFileSize bytes
CacheMinFileSize 1
CacheIgnoreHeaders Set-Cookie
CacheIgnoreNoLastMod On
&lt;FilesMatch "\.(jpg|jpeg|png|gif|css|js)$"&gt;
# Indica si el caché está funcionando
Header set X-Cache "HIT from Apache"
# Expiración por defecto (1 hora)
CacheDefaultExpire 3600
# Expiración máxima (1 día)
CacheMaxExpire 86400
CacheLastModifiedFactor 0.5
&lt;&sol;FilesMatch&gt;
&lt;&sol;IfModule&gt;
</code></pre>
<p>5.- El nuevo archivo de configuración debería de verse como el siguiente:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code contenteditable="true">Listen 8084
&lt;VirtualHost *:8084&gt;
ServerAdmin tu-email@email.com
ServerName ejemplo.com
ServerAlias ejemplo.com
DocumentRoot &sol;var&sol;www&sol;ejemplo.com
WSGIDaemonProcess app-ejemplo user=www-data group=www-data threads=6 python-home=&sol;var&sol;www&sol;ejemplo.com&sol;.venv
WSGIScriptAlias &sol; &sol;var&sol;www&sol;ejemplo.com&sol;ejemplo.com.wsgi
# dentro de tu proyecto debe existir la carpeta log para que dentro de esa se almacenen los logs
ErrorLog &sol;var&sol;www&sol;ejemplo.com&sol;log&sol;error.log
CustomLog &sol;var&sol;www&sol;ejemplo.com&sol;log&sol;access.log combined
&lt;Directory &sol;var&sol;www&sol;ejemplo.com&gt;
WSGIProcessGroup app-ejemplo
WSGIApplicationGroup %{GLOBAL}
#Order deny,allow
Require all granted
&lt;&sol;Directory&gt;
# INICIO MANEJO CACHE APACHE
# Habilitar caché para todas las solicitudes
CacheEnable disk &sol;
# Configuración de caché
&lt;IfModule mod_cache_disk.c&gt;
CacheRoot &sol;var&sol;cache&sol;apache2&sol;mod_cache_disk
CacheDirLevels 2
CacheDirLength 1
# [bytes] Tamaño máximo de archivo a almacenar en caché
CacheMaxFileSize 1000000
# CacheMinFileSize bytes
CacheMinFileSize 1
CacheIgnoreHeaders Set-Cookie
CacheIgnoreNoLastMod On
# archivos en especifico:
&lt;FilesMatch "\.(jpg|jpeg|png|gif|css|js)$"&gt;
# Indica si el caché está funcionando
Header set X-Cache "HIT from Apache"
# Expiración por defecto (1 hora)
CacheDefaultExpire 3600
# Expiración máxima (1 día)
CacheMaxExpire 86400
CacheLastModifiedFactor 0.5
&lt;&sol;FilesMatch&gt;
&lt;&sol;IfModule&gt;
# FINAL MANEJO CACHE APACHE
&lt;&sol;VirtualHost&gt;
</code></pre>
<p>6.- Para aplicar los cambios realizados en el archivo de configuración, debemos recargar Apache:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code>sudo systemctl reload apache2</code></pre>